Importing WformServices and GlemmServices

Change-Id: Ifa95576d69e0d3863f63d3fdedb48c2c21cf64bc
diff --git a/GlemmClient/.classpath b/GlemmClient/.classpath
new file mode 100644
index 0000000..0915405
--- /dev/null
+++ b/GlemmClient/.classpath
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
+		</attributes>
+	</classpathentry>
+	<classpathentry combineaccessrules="false" kind="src" path="/GlemmServices"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/JsonTraverse"/>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v9.0">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.utility"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_231">
+		<attributes>
+			<attribute name="owner.project.facets" value="java"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/GlemmClient/.project b/GlemmClient/.project
new file mode 100644
index 0000000..23dcb98
--- /dev/null
+++ b/GlemmClient/.project
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>GlemmClient</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+	</natures>
+</projectDescription>
diff --git a/GlemmClient/.settings/org.eclipse.jdt.core.prefs b/GlemmClient/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..4e4a3ad
--- /dev/null
+++ b/GlemmClient/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/GlemmClient/.settings/org.eclipse.m2e.core.prefs b/GlemmClient/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/GlemmClient/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/GlemmClient/.settings/org.eclipse.wst.common.component b/GlemmClient/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..96f1e14
--- /dev/null
+++ b/GlemmClient/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="GlemmClient">
+        <wb-resource deploy-path="/" source-path="/src"/>
+    </wb-module>
+</project-modules>
diff --git a/GlemmClient/.settings/org.eclipse.wst.common.project.facet.core.xml b/GlemmClient/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..3eca3e1
--- /dev/null
+++ b/GlemmClient/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="Apache Tomcat v9.0"/>
+  <installed facet="java" version="1.8"/>
+  <installed facet="jst.utility" version="1.0"/>
+</faceted-project>
diff --git a/GlemmClient/.settings/org.eclipse.wst.validation.prefs b/GlemmClient/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/GlemmClient/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/GlemmClient/pom.xml b/GlemmClient/pom.xml
new file mode 100644
index 0000000..c5030f9
--- /dev/null
+++ b/GlemmClient/pom.xml
@@ -0,0 +1,53 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services.glemm.client</groupId>
+  <artifactId>GlemmClient</artifactId>
+  <version>0.2-Test</version>
+  <name>Glemm Client library</name>
+  <description>Client for communication with Glemm Services</description>
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
+ <dependencies>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+		<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+		<scope>compile</scope>
+	</dependency>
+ </dependencies>
+  
+</project>
\ No newline at end of file
diff --git a/GlemmClient/src/de/korap/services/glemm/client/GlemmClient.java b/GlemmClient/src/de/korap/services/glemm/client/GlemmClient.java
new file mode 100644
index 0000000..2befa42
--- /dev/null
+++ b/GlemmClient/src/de/korap/services/glemm/client/GlemmClient.java
@@ -0,0 +1,343 @@
+package de.korap.services.glemm.client;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintStream;
+import java.io.UnsupportedEncodingException;
+import java.net.*;
+import java.util.Properties;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import de.korap.services.LemmaResponse;
+import de.korap.services.utils.Utils;
+
+/*
+ * Notes on encoding URLs:
+ * 
+ * -> http://server:port/GlemmServices-0.2-test/lemma/info/Haus?opts=comp+other
+ * - in this URL, 'Haus' is not part of the query but part of the path.
+ * - the query starts behind the '?'.
+ * -> http://server:port/GlemmServices-0.2-test/lemma/info?lemma=Haus&opts=comp+other
+ * - that would be correct: now lemma=Haus is part of the query.
+ * - But fortunatly, URI.toASCIIString() will also urlencode lemma 'Haus' as part
+ *   of the path in the 1st URL above.
+ */
+
+public class GlemmClient {
+	
+	/* constants that may be rewritten by properties */
+	String URLGlemmServer	= "http://c0r4ft";
+	int    GlemmPort		= 40913;
+	String URLGlemmServices	= "GlemmServices-0.1-SNAPSHOT";
+	String LemmaRequestPath	= "index/info/lemma";
+	
+	public PrintStream fout	= null;
+	public PrintStream ferr	= null;		
+		
+	public GlemmClient(PrintStream fout, PrintStream ferr)
+	
+	{
+	this.fout = fout;
+	this.ferr = ferr;
+	
+	fout.printf("Debug: GlemmClient: constructor called.\n");	
+	}
+	
+	/* GlemmClient constructor:
+	 * 
+	 * init constants from properties.
+	 * 
+	 * 22.10.21/FB
+	 */
+	
+	public GlemmClient(Properties props, PrintStream fout, PrintStream ferr)
+	
+	{
+	String
+		tmp;
+	
+	this.fout = fout;
+	this.ferr = ferr;
+	
+	URLGlemmServer	= Utils.getConstantFromProperties(props, "URLGlemmServer", "http://c0r4ft");
+	tmp				= Utils.getConstantFromProperties(props, "GlemmPort", 	   "40913");
+	GlemmPort		= Integer.parseInt(tmp);
+	URLGlemmServices= Utils.getConstantFromProperties(props, "URLGlemmServices", "GlemmServices-0.1-SNAPSHOT");
+	LemmaRequestPath= Utils.getConstantFromProperties(props, "LemmaRequestPath", "index/info/lemma");		
+	}
+	
+	public int GlemmConnect()
+	
+	{
+	final String func = "GlemmConnect";
+	
+	fout.printf("Debug: %s: starting to connect to GLEMM Services...\n", func);
+	
+	return 0;
+	} // GlemmConnect
+
+	/*
+	 * sendQuery:
+	 * - sends a lemma query over the network to the Glemm Services.
+	 * Notes:
+	 * - classical use of URLs, HttpURLConnections, etc. out of the box of
+	 *   the java library; no other library is needed.
+	 * 
+	 * Arguments:
+	 * lemmaQuery: e.g. Schuh or Schuh?opts=flex+comp+other
+	 * 
+	 * Returns:
+	 * - list of wordforms (= lemma expansions).
+	 *
+	 * 27.04.20/FB
+	 * 10.05.21/FB :
+	 * - converting lemmaQuery using urlencoding.
+	 * note: - JVM on COSMAS II-lunix is using ISO-8859-1 per default.
+	 *       - currently, modifying default character encoding (at JVM start) is discouraged.
+	 * - sendQuery() get JSON [UTF-8] back from the GlemmServices.
+	 * - list of wfs returned [UTF-8] have to be converted to [ISO8859-1] before being converted
+	 *   by transform_JSON2Obj() to JSON [UTF-8]. Otherwise UTF-8 chars will be wrongly
+	 *   converted to UTF-8 (convert UTF-8 to UTF-8 = carbage).
+	 * - lemmaQuery: using URI + uri.toASCIIString() for "lemma?opts=flex+comp": 
+	 *   this urlencodes the lemma part but not the query parameters behind the '?'. 
+	 * 28.10.21/FB
+	 */
+	
+	public LemmaResponse sendQuery(String lemmaQuery)
+	
+	{
+	final String func = "sendQuery";
+	String
+		URLasString;
+	URL 
+		url 		= null;
+	URI
+		uri			= null;
+	HttpURLConnection 
+		con;
+	int
+		status;
+	String
+		responseContent;
+	LemmaResponse
+		lemResp		= null;
+	final boolean
+		bURLencode	= true;	// if true: urlencode query.
+	final boolean
+		bLat1		= true; // if true: convert from UTF-8 to ISO8859-1
+
+	this.fout.printf("Debug: %s: requested lemma = '%s'.\n", func, lemmaQuery);
+
+	if( bURLencode )
+		{
+		URLasString = String.format("%s:%d/%s/%s/%s", 
+								URLGlemmServer, 
+								GlemmPort, 
+								URLGlemmServices, 
+								LemmaRequestPath, 	// = path without lemma which is part of the path. 
+								lemmaQuery);  		// not urlencoded yet!
+		try {
+			uri = new URI(URLasString);
+			// uri.toASCIIString: urlencodes only the lemma (OK). 
+			this.fout.printf("Debug: %s: uri als ASCII string = '%s'.\n",  func, uri.toASCIIString());
+			} 
+		catch (URISyntaxException e1) {
+			this.ferr.printf("Error: %s: cannot convert to URI: '%s'!\n", func, URLasString);
+			e1.printStackTrace();
+			return null;
+			}
+		
+		try { 
+			url = new URL(uri.toASCIIString()); // which translates the lemma, but not the query part behind the '?' to urlencoding.
+			this.fout.printf("Debug: %s: creating URL='%s'.\n", func, url.toString());
+			} 
+		catch (MalformedURLException  e) {
+			this.ferr.printf("Error: %s: cannot build URL from '%s'!\n", func, uri.toASCIIString());
+			e.printStackTrace();
+			return null;
+			} 
+		}
+	else
+		{
+		// formulate request as URL:
+		URLasString = String.format("%s:%d/%s/%s/%s", 
+						URLGlemmServer, 
+						GlemmPort, 
+						URLGlemmServices, 
+						LemmaRequestPath, 
+						lemmaQuery); 		
+		
+		try { 
+			url = new URL(URLasString);
+			this.fout.printf("Debug: %s: creating URL='%s'.\n", func, url.toString());
+			} 
+		catch (MalformedURLException  e) {
+			this.ferr.printf("Error: %s: cannot build URL from '%s'!\n", func, URLasString);
+			e.printStackTrace();
+			return null;
+			}
+		}
+
+	// build the connection:
+	
+	try {
+		con = (HttpURLConnection) url.openConnection();
+		} 
+	catch (IOException e) {
+		this.ferr.printf("Error: %s: cannot connect to URL='%s'!\n", func, URLasString);
+		e.printStackTrace();
+		return null;
+		}
+	
+	try {
+		con.setRequestMethod("GET");
+		con.setRequestProperty("Content-Type", "application/json");
+		con.setRequestProperty("Accept",       "application/json"); 
+		con.setUseCaches(false);
+		} 
+	catch (ProtocolException e) {
+		e.printStackTrace();
+		return null;
+		}
+	
+	// sending the request & waiting for the response with the wf lists:
+
+	try {
+		if( (status = con.getResponseCode()) == HttpURLConnection.HTTP_OK )
+			{
+			this.fout.printf("Debug: %s: HTTP return status = OK.\n", func);
+			responseContent = getResponseContent(con);
+			if( responseContent == null )
+				return null;
+			this.fout.printf("Debug: %s: HTTP Response Content = '%s'.\n", func, responseContent);
+			// 28.10.21/FB
+			if( bLat1 )
+				{
+				String
+					responseContentLat1 = new String(responseContent.getBytes("ISO-8859-1"), "utf-8");
+				this.fout.printf("Debug: %s: Response Content = '%s' [Lat1].\n", func, responseContentLat1);
+				responseContent = responseContentLat1;
+				}
+			}	
+		else
+			{
+			this.fout.printf("Debug: %s: HTTP return status = %d (%s)!\n",  func, status, con.getResponseMessage());
+			con.disconnect();
+			return null;
+			}
+		} 
+	catch (IOException e) {
+		this.ferr.printf("Error: %s: while sending request to GlemmServices!\n", func);
+		e.printStackTrace();
+		con.disconnect();
+		return null;
+		}
+	
+	// converting JSON Response Content to object:
+	lemResp = transform_JSON2Obj(responseContent);
+	
+	this.fout.printf("Debug: %s: lemResp='%s'.\n", func, lemResp.toString());
+	
+	// disconnecting:
+	con.disconnect();
+	
+	// returning lemma Response Object:
+	return lemResp; // ok.
+	
+	} // sendQuery
+	
+
+	/* getResponseContent:
+	 * 
+	 * - returns the HTTP Response Content on con.
+	 * Returns:
+	 *  - either the Content as String.
+	 *  - or null if an error occures.
+	 * 29.04.20/FB
+	 */
+	
+	private String getResponseContent(HttpURLConnection con)
+	
+	{
+	final String func = "getResponseContent";
+	BufferedReader 
+		in;
+	String 
+		inputLine;
+	StringBuffer 
+		content;
+			
+	try {
+		in = new BufferedReader(
+				  new InputStreamReader(con.getInputStream()));
+		} 
+	catch (IOException e) {
+		this.ferr.printf("Error: %s: cannot read returned HTTP Content!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	
+	content = new StringBuffer();
+	
+	try {
+		while ((inputLine = in.readLine()) != null) 
+			{
+		    content.append(inputLine);
+			}
+		} 
+	catch (IOException e1) {
+		e1.printStackTrace();
+		}
+	
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		}
+	
+	// return Response Content:
+	return content.toString();
+	
+	} // getResponseContent		
+			
+	/* transform_JSON2Obj
+	 * - transforms the JSON formated Glemm Response content to an
+	 *   object.
+	 * 29.04.20/FB
+	 */
+	
+	private LemmaResponse transform_JSON2Obj(String jsonString)
+	
+	{
+	ObjectMapper
+		objMapper = null;	
+	LemmaResponse
+		lemResp;
+	
+	objMapper = new ObjectMapper();
+
+	try {
+		lemResp   = objMapper.readValue(jsonString, LemmaResponse.class);
+		} 
+	catch (JsonParseException e) {
+		e.printStackTrace();
+		return null;
+		} 
+	catch (JsonMappingException e) {
+		e.printStackTrace();
+		return null;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return null;
+		}
+	
+	return lemResp;	
+	} // transform_JSON2Obj
+	 
+} // class GlemmClient
diff --git a/GlemmServices/.classpath b/GlemmServices/.classpath
new file mode 100644
index 0000000..d72ac2e
--- /dev/null
+++ b/GlemmServices/.classpath
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/JsonTraverse"/>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v9.0 (2)">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.web"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/utils"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/GlemmServices/.project b/GlemmServices/.project
new file mode 100644
index 0000000..acd73d2
--- /dev/null
+++ b/GlemmServices/.project
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>GlemmServices</name>
+	<comment></comment>
+	<projects>
+		<project>JsonTraverse</project>
+		<project>Utils</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+</projectDescription>
diff --git a/GlemmServices/.settings/.jsdtscope b/GlemmServices/.settings/.jsdtscope
new file mode 100644
index 0000000..92e666d
--- /dev/null
+++ b/GlemmServices/.settings/.jsdtscope
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebContent"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+		<attributes>
+			<attribute name="hide" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+	<classpathentry kind="output" path=""/>
+</classpath>
diff --git a/GlemmServices/.settings/org.eclipse.core.runtime.prefs b/GlemmServices/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/GlemmServices/.settings/org.eclipse.jdt.core.prefs b/GlemmServices/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..4e4a3ad
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/GlemmServices/.settings/org.eclipse.m2e.core.prefs b/GlemmServices/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/GlemmServices/.settings/org.eclipse.wst.common.component b/GlemmServices/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..4355618
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="GlemmServices2-0.0.1-SNAPSHOT">
+        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
+        <wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
+        <dependent-module archiveName="utils-0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/utils/utils">
+            <dependency-type>uses</dependency-type>
+        </dependent-module>
+        <dependent-module archiveName="JsonTraverse-0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/JsonTraverse/JsonTraverse">
+            <dependency-type>uses</dependency-type>
+        </dependent-module>
+        <property name="java-output-path" value="/GlemmServices/build/classes"/>
+        <property name="context-root" value="GlemmServices"/>
+    </wb-module>
+</project-modules>
diff --git a/GlemmServices/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml b/GlemmServices/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
new file mode 100644
index 0000000..cc81385
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
@@ -0,0 +1,7 @@
+<root>
+  <facet id="jst.jaxrs">
+    <node name="libprov">
+      <attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
+    </node>
+  </facet>
+</root>
diff --git a/GlemmServices/.settings/org.eclipse.wst.common.project.facet.core.xml b/GlemmServices/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..3c4e8c4
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="Apache Tomcat v9.0 (2)"/>
+  <fixed facet="java"/>
+  <fixed facet="jst.web"/>
+  <fixed facet="wst.jsdt.web"/>
+  <installed facet="java" version="1.8"/>
+  <installed facet="wst.jsdt.web" version="1.0"/>
+  <installed facet="jst.jaxrs" version="2.1"/>
+  <installed facet="jst.web" version="4.0"/>
+</faceted-project>
diff --git a/GlemmServices/.settings/org.eclipse.wst.jsdt.ui.superType.container b/GlemmServices/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/GlemmServices/.settings/org.eclipse.wst.jsdt.ui.superType.name b/GlemmServices/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/GlemmServices/.settings/org.eclipse.wst.validation.prefs b/GlemmServices/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/GlemmServices/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/GlemmServices/WebContent/META-INF/MANIFEST.MF b/GlemmServices/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/GlemmServices/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/GlemmServices/WebContent/WEB-INF/GlemmServices.properties b/GlemmServices/WebContent/WEB-INF/GlemmServices.properties
new file mode 100644
index 0000000..f205c7c
--- /dev/null
+++ b/GlemmServices/WebContent/WEB-INF/GlemmServices.properties
@@ -0,0 +1,32 @@
+# GlemmServices properties:
+# expected in /WEB-INF/.
+
+## General properties:
+GS_WorkingPath = /home/bodmer/KorAP/GlemmServices/work-live
+
+# GlemmDB properties:
+# DerbyArchivDB = database for the wform list of a whole C2-Archive:
+fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyArchiveDB
+#fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB2
+serverHost	= //localhost:1527/
+
+## Glemm: properties for lemmatizing:
+
+# fnameScript = GS_WorkingPath + doGlemm
+fnameScript = doGlemm
+# fnameWfs = GS_WorkingPath + "/gl_wfs_in.txt";
+fnameWfs = gl_wfs_in.txt
+# fnameScript	= GS_WorkingPath + "/doGlemm";
+fnameScript	= doGlemm
+# fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+# lem3 expected to be ISO8859-1 encoded.
+fnameLemata	= tmp/lem3
+
+## Loging:
+
+# fnameOut = GS_WorkingPath + "/GlemmServices.log";
+#fnameOut = GlemmServices-t.log
+fnameOut = GlemmServices-t2.log
+# fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+#fnameErr = GlemmServices-t.err
+fnameErr = GlemmServices-t2.err
diff --git a/GlemmServices/WebContent/WEB-INF/web.xml b/GlemmServices/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..eb2c72c
--- /dev/null
+++ b/GlemmServices/WebContent/WEB-INF/web.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- kopiert aus https://blog.dejavu.sk/registering-resources-and-providers-in-jersey-2/ , 09.12.19/FB -->
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
+  <servlet>
+    <servlet-name>GlemmServices mit Jersey REST</servlet-name>
+    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
+    <init-param>
+      <param-name>jersey.config.server.provider.packages</param-name>
+      <param-value>de.korap.services</param-value>
+    </init-param>
+    <init-param>
+      <param-name>jersey.config.server.provider.classnames</param-name>
+      <param-value>de.korap.services</param-value>
+    </init-param>
+    <init-param>
+      <param-name>jersey.config.server.tracing</param-name>
+      <param-value>ALL</param-value>
+    </init-param>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>GlemmServices mit Jersey REST</servlet-name>
+    <url-pattern>/*</url-pattern>
+  </servlet-mapping>
+</web-app>
\ No newline at end of file
diff --git a/GlemmServices/pom.xml b/GlemmServices/pom.xml
new file mode 100644
index 0000000..91838d0
--- /dev/null
+++ b/GlemmServices/pom.xml
@@ -0,0 +1,86 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices</artifactId>
+  <version>0.2-Test</version>
+  <!-- >version>0.2-live</version -->
+  
+  <packaging>war</packaging>
+  <name>GlemmServices (Test-Konfiguration)</name>
+  
+  <description>RESTfull GlemmServices für KorAP (Live-Konfiguration)</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/GlemmServices/src/de/korap/services/GlemmDB.java b/GlemmServices/src/de/korap/services/GlemmDB.java
new file mode 100644
index 0000000..ef88019
--- /dev/null
+++ b/GlemmServices/src/de/korap/services/GlemmDB.java
@@ -0,0 +1,815 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	public static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+	if( nErrors == -1 )
+		GlemmServices.ferr.printf("Error: %s: connection error to Derby Server!\n", func);
+	else if( nErrors == -2 )
+		GlemmServices.ferr.printf("Error: %s: SQL error when creating SQL statement!\n", func);
+	else if( nErrors == -3 )
+		GlemmServices.ferr.printf("Error: %s: I/O error when reading lemma/wfs!\n", func);
+	else if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns:  0: OK or 
+	 * 			-1: connection error to Derby Server, or
+	 * 			-2: SQL error, or
+	 * 			-3: I/O error when reading wfs, or
+	 * 		   > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -3; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return con == null ? -1 : -2;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/GlemmServices/src/de/korap/services/GlemmDBInfo.java b/GlemmServices/src/de/korap/services/GlemmDBInfo.java
new file mode 100644
index 0000000..14fc7a9
--- /dev/null
+++ b/GlemmServices/src/de/korap/services/GlemmDBInfo.java
@@ -0,0 +1,43 @@
+package de.korap.services;
+
+public class GlemmDBInfo
+
+{
+	public int
+		nDistLemmata,	// no. of distinct lemmata in DB.
+		nWfs,			// no. of wordforms in DB.
+		nFlexions,		// no. of flexions.
+		nCompounds,		// no. of compounds.
+		nOthers,		// no. of "sonstige Wortbildungsformen".
+		nSpec;			// no. of "Spezialfälle".
+	public int[]
+		counts  = {-1,-1,-1,-1,-1,-1};
+	final public String[]
+		countLabels = {	"eindeutige Lemmata",
+						"Wortformen",
+						"Flexionsformen",
+						"Komposita",
+						"sonstige Wortbildungsformen",
+						"Komposita mit sonst. Wortbildungsformen"};
+	
+	/* GlemmDBInfo constructor
+	 * 13.01.20/FB
+	 */
+	
+	GlemmDBInfo(int nDistLemmata, int nWfs)
+	
+	{
+	this.nDistLemmata = nDistLemmata;
+	this.nWfs = nWfs;
+	}
+	
+	/* GlemmDBInfo constructor
+	 * 13.01.20/FB
+	 */
+	
+	GlemmDBInfo()
+	
+	{	
+	}
+
+}
\ No newline at end of file
diff --git a/GlemmServices/src/de/korap/services/GlemmServices.java b/GlemmServices/src/de/korap/services/GlemmServices.java
new file mode 100644
index 0000000..557225b
--- /dev/null
+++ b/GlemmServices/src/de/korap/services/GlemmServices.java
@@ -0,0 +1,990 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "05.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	boolean
+		bDerbyServerConnected = false;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	bDerbyServerConnected = GlemmDB.checkDerbyConnection() == 0 ? true : false;
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>Services status</b>  : ready.</p>" +
+							" <p><b>Derby Server status</b> : %s.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							bDerbyServerConnected ? "connected" : "not available",
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 	: the list of wfs sent in the body of the POST request.
+	 * dbpathEncoded: the location of the database where the lemma+wfs are to be stored.
+	 *             	  encoded as ".home.user.KorAP....", must be converted to
+	 *            	  "/home/user/KorAP/..."
+	 *         		  IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 										  list,
+							@PathParam(value="databasepath") final String dbpathEncoded
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	String
+		dbpath;
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath = dbpathEncoded.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/GlemmServices/src/de/korap/services/LemmaInfo.java b/GlemmServices/src/de/korap/services/LemmaInfo.java
new file mode 100644
index 0000000..e5bbf06
--- /dev/null
+++ b/GlemmServices/src/de/korap/services/LemmaInfo.java
@@ -0,0 +1,629 @@
+package de.korap.services;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+
+import de.korap.services.LemmaResponse;
+
+public class LemmaInfo {
+	
+	// GLEMM API Options:
+	final static String
+		GLEMM_OPTS_FLEX 	= "flex",	// Flexionsformen
+		GLEMM_OPTS_COMP		= "comp", 	// Komposita
+		GLEMM_OPTS_OTHER	= "other",	// sonstige Wortbildungsformen
+		GLEMM_OPTS_SPEC		= "spec",	// Spezialfälle.
+		GLEMM_OPTS_NFLEX 	= "-flex",	// keine Flexionsformen
+		GLEMM_OPTS_NCOMP	= "-comp", 	// keine Komposita
+		GLEMM_OPTS_NOTHER	= "-other",	// keine sonstige Wortbildungsformen
+		GLEMM_OPTS_NSPEC	= "-spec";	// keine Spezialfälle.
+	
+	// Options Settings requested in Query:
+	final static int
+		OPTS_SETTING_UNDEF	= 0,
+		OPTS_SETTING_C2		= 1,	// lemma/Schuh and lemma/Schuh?opts=comp...
+		OPTS_SETTING_INT	= 2;	// lemma/Schuh?prop1=... [internal mode].
+	
+	public String
+		lemma,			// requested lemma, after conversion = 'ß' -> 'ss', i.e. 'schliesslich'.
+		lemmaOrig;		// original lemma version, as submitted (e.g. 'schließlich').
+	public String
+		lemmaOpts;		// lemmatization options as written in request.
+	public int
+		prop1		= 2, 
+		prop2		= 2,	// lemmatisation rule: 0 = '-', 1 = '+', 2 = undef.
+		spec		= 2;
+	// Options set by user: oFlex, oComp etc.
+	// oFlex = 0 : no flexions / 1 : flexions / 2 : undefined.
+	public int
+		oFlex		= 2,
+		oComp		= 2,
+		oOther		= 2,
+		oSpec		= 2;
+	public int
+		optsSetting = OPTS_SETTING_C2;
+	Connection 
+		con = null;
+	Statement
+		stmt = null;	
+	public ResultSet
+		res = null;
+	public int
+		nWfs = -1; 	// -1: error occured; 0 = lemma has no wordforms; > 0 = no. of
+					//     wordforms extracted for that lemma.
+					// nWfs is filled after this.res has be read.
+	StringBuilder
+		wordforms = null;
+
+
+	/* lemmaInfo
+	 * 
+	 * constructor.
+	 * 13.01.20/FB
+	 */
+	LemmaInfo()
+	
+	{
+	lemma 		= null;
+	lemmaOrig	= null;
+	prop1 		= 2;
+	prop2 		= 2;
+	}
+
+	/* lemmaInfo(lemma)
+	 * 
+	 * constructor.
+	 * 13.01.20/FB
+	 */
+	LemmaInfo(final String lemma)
+	
+	{
+	this.lemma 		= lemma.replace("ß",  "ss");
+	this.lemmaOrig 	= lemma;
+	this.prop1 		= 2;
+	this.prop2 		= 2;
+	}
+	
+	/* LemmaInfo(lemma, prop1, prop2)
+	 * 
+	 * construtor.
+	 * E.g. "Haus&p1=1&p2=0"
+	 * To be replaced.
+	 * 13.01.20/FB
+	 */
+	
+	LemmaInfo(String lemma, int prop1, int prop2)
+	
+	{
+	this.lemma 		= lemma.replace("ß",  "ss");
+	this.lemmaOrig 	= lemma;
+	this.prop1 		= prop1 == 0 || prop1 == 1 ? prop1 : 2;
+	this.prop2 		= prop2 == 0 || prop2 == 1 ? prop2 : 2;
+	}
+	
+	/* parseAllOptions
+	 * 
+	 * Input: options of C2 Option Setting of options of Extended Options Setting
+	 *        through Query Params.
+	 *        Either C2 Setting: opts, or
+	 *        Extended Setting : prop1, prop2, spec
+	 * will be set.
+	 * If options = "undef", extended Options are requested instead of C2 Options.
+	 * If prop1 == prop2 == spec == 3: Extended Setting is not requested.
+	 * Default, if both are not set: options=flex.
+	 * 
+	 * Parameter options is parsed, checked against correct constants and
+	 * stored into lemmaInfo.GlemmXXX.
+	 * 
+	 * Accepted constants: GLEMM_OPTS_x
+	 * E.g. "flex+comp"
+	 * Note: 
+	 * - GlemmFlex is set either explicitly by sumitting option "flex", or
+	 *   implicitly by submitting any other option.
+	 * - First of all, we implement the C2 Option Setting.
+	 * 15.01.20/FB
+	 * - implementation of extended flag options: 31.01.20/FB
+	 */
+	
+	int parseAllOptions(String options, int prop1, int prop2, int spec)
+	
+	{
+	if( !options.equals("undef") )
+		{
+		this.optsSetting = OPTS_SETTING_C2;
+		return parseOpts_C2Setting(options);
+		}
+	else if( prop1 != 3 || prop2 != 3 || spec != 3)
+		{
+		this.optsSetting = OPTS_SETTING_INT;
+		return parseOpts_ExtendedSetting(prop1, prop2, spec);
+		}
+	else
+		{	// no setting requested, return default
+		this.optsSetting = OPTS_SETTING_C2;
+		return parseOpts_C2Setting("flex");	
+		}
+		
+	} // parseAllOptions
+
+	/*
+	 *  parseOpts_C2Setting
+	 *  
+	 *  expected: "(flex) (comp) (other) (spec)"
+	 *  Notes:
+	 *  - Jersey transforms "flex+comp+other..." automatically to
+	 *    "flex comp other ...".
+	 *    
+	 *  31.01.20/FB
+	 */
+	
+	int parseOpts_C2Setting(final String options)
+	
+	{
+	final String
+		func = "parseOpts_C2Setting";
+	String[]
+			opts = options.split("[ ]");
+		int
+			nErrors = 0;
+		
+	this.prop1 = this.prop2 = 0; // default: +Flex -Comp -Other -Spec.
+	this.oFlex = 1;				 // default: +Flex
+	
+	for(int i=0; i<opts.length; i++)
+		{
+		switch(opts[i]) {
+		
+		case GLEMM_OPTS_FLEX: 
+			this.oFlex	= 1;
+			break;
+		case GLEMM_OPTS_COMP: 
+			this.oComp	= 1;
+			break;
+		case GLEMM_OPTS_OTHER: 
+			this.oOther = 1;
+			break;
+		case GLEMM_OPTS_SPEC: 
+			this.oSpec = 1;
+			break;
+		default:
+			if( opts[i].isEmpty() )
+				{	
+				this.oFlex = 1;
+				}
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: unknown Glemm Option '%s'!\n", func, opts[i]);
+				nErrors++;
+				}
+			} // switch
+		}
+	
+	if( nErrors > 0 )
+		return nErrors;
+	
+	// convertion of User Options -> internal flags:
+
+	this.prop1 = this.prop2 = this.spec = 0;
+	
+	// prop1 = 2 = undef = Flex+Comp requested; 1 = only Comp requested.
+	if( this.oComp == 1 )
+		this.prop1 = 2; // undef = flex and comp.
+	
+	if( this.oOther == 1 )
+		this.prop2 = 2; // undef: other and not other requested.
+	
+	if( this.oSpec == 1 )
+		this.spec = 2; // undef: spec and not spec requested.
+
+	return 0; // OK
+	} // parseOptions_C2Setting
+
+	/*
+	 *  parseOpts_ExtendedSetting
+	 *  
+	 *  expected: prop1, prop2, spec may have the following values:
+	 *  		  0 : false;
+	 *  		  1 : true;
+	 *  		  2 : undef, i.e. do not set that flag for SQL Request.
+	 *  		  3 : flag not requested
+	 *  Notes:
+	 *  - flags are directly set by the sumitted parameters.
+	 *  31.01.20/FB
+	 */
+	
+	int parseOpts_ExtendedSetting(final int prop1, final int prop2, final int spec)
+	
+	{
+	if( prop1 == 0 || prop1 == 1 )
+		this.prop1 = prop1;
+	else
+		this.prop1 = 2; // undef
+	
+	if( prop2 == 0 || prop2 == 1 )
+		this.prop2 = prop2;
+	else
+		this.prop2 = 2; // undef
+
+	if( spec == 0 || spec == 1 )
+		this.spec = spec;
+	else
+		this.spec = 2; // undef
+
+	return 0; // OK
+	
+	} // parseOptions_ExtendedSetting
+	
+	/* parseOptions
+	 * 
+	 * @Deprecated
+	 * 
+	 * Input: Path Param options.
+	 * Parameter options is parsed, checked against correct constants and
+	 * stored into lemmaInfo.GlemmXXX.
+	 * 
+	 * Accepted constants: GLEMM_OPTS_x
+	 * E.g. "flex+comp"
+	 * Note: 
+	 * - GlemmFlex is set either explicitly by sumitting option "flex", or
+	 *   implicitly by submitting any other option.
+	 * - First of all, we implement the C2 Option Setting.
+	 * 15.01.20/FB
+	 */
+	
+	int parseOptions(String options)
+	
+	{
+	final String
+		func = "parseOptions"; 
+	final boolean
+		modeC2 = true;	// COSMAS II Option Setting.
+	String[]
+		opts = options.split("[ ,]");
+	int
+		nErrors = 0;
+	
+	this.prop1 = this.prop2 = 0; // default: +Flex -Comp -Other -Spec.
+	
+	for(int i=0; i<opts.length; i++)
+		{
+		//System.out.printf("Debug: %s: i=%d opts='%s'.\n", func, i, opts[i]); 
+		switch(opts[i]) {
+		
+		case GLEMM_OPTS_FLEX: 
+			this.oFlex	   = 1;
+			break;
+		case GLEMM_OPTS_NFLEX: 
+			this.oFlex	   = 0;
+			break;
+		case GLEMM_OPTS_COMP: 
+			this.prop1 = 1;
+			this.oComp = 1;
+			break;
+		case GLEMM_OPTS_NCOMP: 
+			this.prop1 = 1;
+			this.oComp = 0;
+			break;
+		case GLEMM_OPTS_OTHER: 
+			this.prop2 = 1;
+			this.oOther = 1;
+			break;
+		case GLEMM_OPTS_NOTHER: 
+			this.prop2 = 1;
+			this.oOther = 0;
+			break;		
+		case GLEMM_OPTS_SPEC: 
+			// neither of prop1 nor prop2 is set by this option.
+			this.oSpec = 1;
+			break;
+		case GLEMM_OPTS_NSPEC: 
+			// neither of prop1 nor prop2 is set by this option.
+			this.oSpec = 0;
+			break;
+		default:
+			if( opts[i].isEmpty() )
+				{	
+				// don't set anything here.
+				}
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: unknown GLEMM Option '%s'!\n", func, opts[i]);
+				nErrors++;
+				}
+			} // switch
+		}
+	
+	if( nErrors > 0 )
+		return nErrors;
+	
+	// convertion of User Options -> internal flags:
+	// COSMAS II Options Setting:
+	if( modeC2 )
+		{
+		this.prop1 = this.prop2 = this.spec = 0;
+		
+		// prop1 = 2 = undef = Flex+Comp requested; 1 = only Comp requested.
+		if( this.oComp == 1 )
+			this.prop1 = this.oFlex == 1 ? 2 : 1; 
+		
+		if( this.oOther == 1 )
+			this.prop2 = 2; // undef: other and not other requested.
+		
+		if( this.oSpec == 1 )
+			this.spec = 2; // undef: spec and not spec requested.
+		}
+	
+	return nErrors; // OK
+	} // parseOptions
+	
+	/* optionstoString:
+	 * 
+	 * 15.01.20/FB
+	 */
+	
+	String optionstoString()
+	
+	{
+	StringBuilder
+		opts = new StringBuilder("");
+	int
+		n = 0;
+	
+	if( this.oFlex != 2 )
+		{
+		opts.append( (this.oFlex == 0 ? "-" : "") + GLEMM_OPTS_FLEX);
+		n++;
+		}
+	if( this.oComp != 2 )
+		{
+		opts.append( (this.oComp == 0 ? "-" : n > 0 ? "+" : " ") + GLEMM_OPTS_COMP);
+		n++;
+		}
+	if( this.oOther != 2 )
+		{
+		opts.append( (this.oOther == 0 ? "-" : n > 0 ? "+" : "") + GLEMM_OPTS_OTHER);
+		n++;
+		}
+	if( this.oSpec != 2 )
+		{
+		opts.append((this.oSpec == 0 ? "-" : n > 0 ? "+" : "") + GLEMM_OPTS_SPEC);
+		}
+	
+	return opts.toString();
+	} // optionstoString
+	
+	/* * * * * * * * * * * * *
+	 * close:
+	 * 
+	 * closes the SQL stuff used for extracting the lemma's wordforms.
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * */
+	
+	void close()
+	
+	{
+	GlemmServices.fout.printf("Debug: close: res=%s con=%s stmt=%s.\n",
+				this.res != null ? "allocated" : "null",
+				this.con != null ? "allocated" : "null",
+				this.stmt!= null ? "allocated" : "null");
+		
+	try {
+		if( this.res != null )
+			this.res.close();
+		if( this.con != null )
+			this.con.close();
+		if( this.stmt != null )
+			this.stmt.close();
+		this.res 	= null;
+		this.con 	= null;
+		this.stmt 	= null;
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	} // close
+
+	/* wfs2HTML
+	 * writes wfs to a HTML formatted buffer.
+	 * 14.01.20/FB
+	 */
+	
+	public String wfs2HTML()
+	
+	{
+	int
+		n = -1; // undefined.
+
+	this.wordforms = new StringBuilder();
+	
+	try {
+		for(n=0; this.res.next(); n++)
+			{
+			this.wordforms.append(String.format("<tr><td>%s</td></tr>\n",  this.res.getString("wf")));
+			}
+		} 
+	catch (SQLException e) {
+		n = -1; // reset to undefined due to error.
+		e.printStackTrace();
+		}
+
+	this.nWfs = n;
+	
+	return this.wordforms != null ? this.wordforms.toString() : null;
+	
+	} // wfs2HTML
+
+	/* res2JSON():
+	 * 
+	 * transforms result of Lemma Query to a JSON list.
+	 * 27.01.20/FB
+	 */
+	
+	public LemmaResponse res2JSON()
+	
+	{
+	final String
+		func = "res2JSON";
+	LemmaResponse
+		lemResp = null;
+	
+	try {
+		lemResp = new LemmaResponse();
+		lemResp.listofWfs = new ArrayList<>();
+		}
+	catch ( Exception e ){
+		GlemmServices.ferr.printf("Error: %s: cannot allocate memory for %s!\n",
+				func, lemResp == null ? "lemResp" : "listofWfs");
+		e.printStackTrace();
+		if( lemResp == null )
+			return null;
+		else
+			return lemResp;
+		}
+	
+	// fill header:
+	lemResp.head_nWfs    = -1;
+	lemResp.head_query   = this.lemmaOrig;
+	lemResp.head_options = this.optionstoString();
+	
+	// fill lemma list:
+	
+	try {
+		for(this.nWfs=0; this.res.next(); this.nWfs++)
+			{
+			lemResp.listofWfs.add(this.res.getString("wf"));
+			}
+		} 
+	catch (SQLException e) {	
+		e.printStackTrace();
+		lemResp.head_errMess = String.format("Error: %s: cannot convert all lemmata! returns after %d lemmata.\n", 
+				func, this.nWfs);
+		return lemResp;
+		}
+
+	lemResp.head_nWfs = this.nWfs;
+	
+	return lemResp;
+	
+	} // res2JSON
+	
+	
+	/* res2TEXT():
+	 * 
+	 * transforms result of Lemma Query to a list of wordforms in Text/plain format.
+	 * 28.01.20/FB
+	 */
+	
+	public String res2TEXT()
+	
+	{
+	final String
+		func = "res2TEST";
+	StringBuilder
+		result;
+	
+	try {
+		result = new StringBuilder();
+		} 
+	catch (Exception e) {
+		GlemmServices.ferr.printf("Error: %s: cannot allocated memory!\n",  func); 
+		e.printStackTrace();
+		return String.format("Error: %s: cannot allocate memory for wordform list!\n", func);
+		}
+	
+	// fill StringBuffer with list of wfs:
+	try {
+		for(this.nWfs=0; this.res.next(); this.nWfs++)
+			{
+			result.append(this.res.getString("wf") + "\n");
+			}
+		} 
+	catch (SQLException e) {	
+		e.printStackTrace();
+		return String.format("Error: %s: cannot convert all lemmata! returns after %d lemmata.\n", 
+				func, this.nWfs);
+		}
+	
+	return result.toString();
+	
+	} // res2TEXT
+	
+	/*
+	 * decompositionRulestoString:
+	 * 
+	 * transforms the GLEMM decomposition rules prop1+2 to a human
+	 * readable string.
+	 * See e.g. COSMAS II: src/util/list2sgml.c.
+	 * 15.01.20/FB
+	 * 21.10.21/FB C2-option 'Spec' is no Glemm option and thus not returned here.
+	 */
+	
+	static String decompRulestoString(int prop1, int prop2)
+	
+	{
+	if( prop1 == 0 && prop2 == 0)
+		return "Flexionsformen";
+	else if( prop1 == 1 && prop2 == 0)
+		return "Komposita";
+	else if( prop1 == 0 && prop2 == 1)
+		return "sonst. Wortbidlungsformen";
+	else if( prop1 == 1 && prop2 == 1)
+		return "Komposita und sonst. Wortbildungsformen";
+	else
+		return "";
+	
+	} // decompositionRulestoString
+	
+	/*
+	 * isWfSpecialCase
+	 * Returns true, if wordform should be returned for GLEMM_OPT_SPEC,
+	 * i.e. if it contains hyphens or special chars.
+	 * 15.01.20/FB
+	 */
+	
+	static boolean isWfSpecialCase(String wf)
+	
+	{
+	final String
+		func = "isWfSpecialCase";
+	boolean
+		isLorD;
+	
+	/* test: isLetterOrDigit works as expected: all chars from ISO8859-1 are identified as a letter,
+	 * digits as digits, interpunction and other chars are identified as non-letter.
+	 */
+	/*
+	char[]
+		chars = new char[256];
+	for(i=0; i<256; i++)
+		chars[i] = (char)i;
+	for(i=0; i<chars.length; i++)
+		{
+		type = Character.isLetterOrDigit(chars[i]);
+		System.out.printf("Debug: %c : %s\n", chars[i], type == true ? "letter or digit" : "special char");
+		}
+	*/
+
+	for(int i=0; i<wf.length(); i++)
+		{
+		isLorD = Character.isLetterOrDigit(wf.charAt(i));
+		//System.out.printf("Debug: %c : %s\n", wf.charAt(i), isLorD == true ? "letter or digit" : "special char");
+		if( !isLorD )
+			{
+			//System.out.printf("Debug: %s : %s spec=%b.\n", func, wf, true);
+			return true; // wf contains at least one hyphen or special char.
+			}
+		}
+
+	//System.out.printf("Debug: %s : %s spec=%b.\n", func, wf, false);
+	
+	return false;
+	} // isWfSpecialCase
+	
+	
+}
+
diff --git a/JsonTraverse/.classpath b/JsonTraverse/.classpath
new file mode 100644
index 0000000..1ff5a38
--- /dev/null
+++ b/JsonTraverse/.classpath
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v9.0">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.utility"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_231">
+		<attributes>
+			<attribute name="owner.project.facets" value="java"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/JsonTraverse/.project b/JsonTraverse/.project
new file mode 100644
index 0000000..2313174
--- /dev/null
+++ b/JsonTraverse/.project
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>JsonTraverse</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+	</natures>
+</projectDescription>
diff --git a/JsonTraverse/.settings/org.eclipse.jdt.core.prefs b/JsonTraverse/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..4e4a3ad
--- /dev/null
+++ b/JsonTraverse/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/JsonTraverse/.settings/org.eclipse.m2e.core.prefs b/JsonTraverse/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/JsonTraverse/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/JsonTraverse/.settings/org.eclipse.wst.common.component b/JsonTraverse/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..049ec8b
--- /dev/null
+++ b/JsonTraverse/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="JsonTraverse">
+        <wb-resource deploy-path="/" source-path="/src"/>
+    </wb-module>
+</project-modules>
diff --git a/JsonTraverse/.settings/org.eclipse.wst.common.project.facet.core.xml b/JsonTraverse/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..3eca3e1
--- /dev/null
+++ b/JsonTraverse/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="Apache Tomcat v9.0"/>
+  <installed facet="java" version="1.8"/>
+  <installed facet="jst.utility" version="1.0"/>
+</faceted-project>
diff --git a/JsonTraverse/.settings/org.eclipse.wst.validation.prefs b/JsonTraverse/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/JsonTraverse/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/JsonTraverse/pom.xml b/JsonTraverse/pom.xml
new file mode 100644
index 0000000..caf90bf
--- /dev/null
+++ b/JsonTraverse/pom.xml
@@ -0,0 +1,44 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.json</groupId>
+  <artifactId>JsonTraverse</artifactId>
+  <version>0.1-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>JsonTraverse</name>
+  <description>Methods for traversing a Json Tree (KorallQuery) and extracting/rewriting data</description>
+ 
+  <dependencies>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+  </dependencies>
+ 
+ 
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/JsonTraverse/src/de/korap/json/JsonTraverse.java b/JsonTraverse/src/de/korap/json/JsonTraverse.java
new file mode 100644
index 0000000..60e87fa
--- /dev/null
+++ b/JsonTraverse/src/de/korap/json/JsonTraverse.java
@@ -0,0 +1,158 @@
+package de.korap.json;
+
+import java.io.PrintStream;
+import java.util.Iterator;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+
+public class JsonTraverse
+
+{
+	// kind of operations during JsonTree Traversal:
+	
+	public final static int COLLECT 	= 1; 
+	public final static int REWRITE 	= 2;	// replace lemmata by refs on expansion list.
+	public final static int REWRITE_EXP	= 3;	// replace lemmata by expansion list [wf,wf,...].
+	
+	PrintStream
+		fout,			// to be set by caller, replaces stdout.
+		ferr;			// to be set by caller, replaces stderr.
+	
+	/*
+	 * traverseJsonTree
+	 * 
+	 * - traverses JsonTree starting at node.
+	 * - tPath: collects lemmata and contains references to rewrite.
+	 * - mode: operation mode COLLECT, REWRITE, REWRITE_EXP.
+	 * 31.03.20/FB
+	 */
+	
+	static final public void traverseJsonTree(
+				JsonNode 			node, 
+				TraversedPath	 	tPath, 
+				final int	 		mode, 
+				final PrintStream	fout,
+				final PrintStream	ferr )
+	
+	{
+	final String func = "traverseJsonTree";
+	boolean
+		isFound = false;
+	boolean
+		bDebug = false;
+	
+    if( node.isObject())
+    	{
+        Iterator<String> fieldNames = node.fieldNames();
+        if( bDebug )
+        	fout.printf("Debug:%s: object: { \n",  func);
+        
+        while(fieldNames.hasNext()) 
+        	{
+            String fieldName = fieldNames.next();
+            
+            // path search under 'query':
+            if( tPath.checkPath(fieldName, node.get(fieldName), mode, fout) )
+            	isFound = true;
+            
+            JsonNode fieldValue = node.get(fieldName);
+            if( bDebug )
+            	fout.printf("Debug:%s: key='%s':\n", func, fieldName); 
+            traverseJsonTree(fieldValue, tPath, mode, fout, ferr);
+        	}
+        
+        if( bDebug )
+        	fout.printf("Debug:%s: } : end of object.\n",  func);
+        
+        if( (mode == REWRITE || mode == REWRITE_EXP) && isFound )
+        	{
+        	tPath.rewriteObjNode(node, mode, fout);
+        	fout.printf("Debug:%s: after rewrite: node='%s'.\n", func, node.toString());
+        	}
+    	} 
+    else if(node.isArray())
+    	{
+    	if( bDebug )
+    		fout.printf("Debug:%s: array: [\n",  func);
+    	
+        ArrayNode arrayNode = (ArrayNode) node;
+        for(int i = 0; i < arrayNode.size(); i++) 
+        	{
+            JsonNode arrayElement = arrayNode.get(i);
+            traverseJsonTree(arrayElement, tPath, mode, fout, ferr);
+        	}
+    	if( bDebug ) 
+    		fout.printf("Debug:%s: ] end of array.\n",  func);
+    	} 
+    else {
+        // JsonNode node represents a single value field - do something with it.
+    	if( bDebug )
+    		fout.printf("Debug:%s: single value field = '%s'\n", func, node.asText());
+    	}
+    
+	} // traverseJsonTree
+	
+	/*
+	 * isPathLemmaQuery
+	 * 
+	 * returns: lemma as a String, if path & lemma were found.
+	 * 			else: null.
+	 * 04.04.20/FB
+	 */
+	
+	static private String isPathLemmaQuery(JsonNode node, PrintStream fout, PrintStream ferr)
+	
+	{
+	final String func = "isPathLemmaQuery";
+	int
+		nMatches = 0;
+	String
+		lemma = null;
+	boolean
+		bDebug = false;
+	
+	if( node.isObject() == false )
+		return null;
+	
+	Iterator<String> fieldNames = node.fieldNames();
+    
+    while(fieldNames.hasNext()) 
+    	{
+        String fieldName = fieldNames.next();
+        String fieldValue = node.get(fieldName).asText();
+        
+        if( fieldName.equals("@type") && fieldValue.equals("koral:token") )
+        	nMatches++;
+        else if( fieldName.equals("wrap") && node.get(fieldName).isObject() == true ) 
+	        {
+        	Iterator<String>fieldNames2 = node.get(fieldName).fieldNames();
+        	while( fieldNames2.hasNext())
+	        	{
+        		String fn = fieldNames2.next();
+        		if( fn.equals("@type") && node.get(fn).asText().equals("koral:term") )
+        			nMatches++;
+        		else if( fn.equals("key") )
+	        		{
+	        		lemma = node.get(fn).asText();	
+		        	}
+           		else if( fn.equals("layer") && node.get(fn).asText().equals("lemma") )
+	        		nMatches++;
+	        	} // while
+	        }
+    	} // while
+	
+    if( bDebug )
+    	fout.printf("Debug: %s: nMatches=%d.\n", func, nMatches);
+    
+    if( nMatches == 3 && lemma != null )
+	    {
+	    fout.printf("Debug:%s: path found to lemma '%s'.\n", func, lemma);
+	    return lemma;
+	    }
+	
+    // path of lemma not found:
+	return null;
+	} // isPathLemmaQuery
+	
+} // JsonTraverse
diff --git a/JsonTraverse/src/de/korap/json/TraversedPath.java b/JsonTraverse/src/de/korap/json/TraversedPath.java
new file mode 100644
index 0000000..65dc242
--- /dev/null
+++ b/JsonTraverse/src/de/korap/json/TraversedPath.java
@@ -0,0 +1,426 @@
+package de.korap.json;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import de.korap.services.LemmaResponse;
+
+public class TraversedPath {
+	
+	boolean
+		insideQuery;
+	int
+		level;
+	boolean
+		okType; 
+	int
+		queryType; 			// LEMMA, etc.
+	List<String>
+		lemmata 	= null;	// the extracted lemmata.
+	String
+		lemma 		= null;	// currently found lemma.
+	List<String>
+		refs		= null;	// references to expansion lists returned from GLEMM.
+							// same order than lemmata in lemmata[].
+	JsonNode
+		wrapNode	= null; // node under 'wrap' where properties of lemma term 
+							// are stored, here called level 2.
+	ObjectMapper
+		objMapper	= null;
+	int
+		iRewrite	= 0;	// index of lemma currently rewritten (in lemmata).
+	List<List<String>>
+		expansionLists	= null;	// each element of this list is an expansion list
+								// i.e. a list of wfs for a lemma.
+	List<LemmaResponse>			// list of lemmaResponse corresponding to each
+		lemRespList		= null;	// lemma of list lemmata.
+								// todo: should replace List expansionLists.
+	
+	public static final int NONE		= 0; // undefined.
+	public static final int LEMMA		= 1; // GLEMM lemma.
+	public static final int REGEXPR		= 2; // COSMAS II's regex on word level.
+	public static final int WILDCARD	= 3; // COSMAS II's wildcard expression.
+	
+	public TraversedPath(ObjectMapper obj)
+	
+		{
+		objMapper	= obj;
+		insideQuery = false;
+		okType 		= false;
+		level 		= 0;
+		queryType	= NONE;
+		}
+	
+	/*
+	 * checkPath
+	 * 
+	 * notes:
+	 * - to be called for each property of an object.
+	 * - collects all lemma subqueries inside a query tree.
+	 * Arguments:
+	 * fieldName: currently processed field name.
+	 * node		: JsonNode that is the value of fieldName.
+	 * mode		: COLLECT or REWRITE.
+	 * Returns:
+	 * - List<String>lemmata as a list of lemmata.
+	 * - true if wrap-object to be rewritten has been found.
+	 * 04.04.20/FB
+	 */
+	
+	boolean checkPath(final String fieldName, JsonNode node, final int mode, final PrintStream fout)
+	
+	{
+	final String func = "checkPath";
+	final boolean
+		bLog 	= true; 	// for loging.
+	boolean
+		isFound = false;	// true, when wrap-obj to be rewritten has been found.
+	
+	if( insideQuery == false )
+		{
+		if( fieldName.equals("query") )
+			{
+			insideQuery = true;
+			level = 1;
+			okType = false;
+			}
+		return false;
+		}
+	
+	if( level == 1 )
+		{
+		if( !okType && fieldName.equals("@type") )
+			{
+			if( node.isTextual() && node.asText().equals("koral:token") )
+				{
+				okType = true;
+				}
+			return false;
+			}
+		else if( okType && fieldName.equals("wrap") )
+			{
+			level 		= 2;
+			okType 		= false; // reset for next level.
+			queryType	= NONE;
+			lemma 		= null;
+			wrapNode	= node;
+			if( bLog && fout != null )
+				fout.printf("Debug: %s: wrap-Obj: '%s'\n", func, node.toString());
+			}
+		return false;
+		} // level 1
+	
+	if( level == 2 )
+		{
+		if( fieldName.equals("@type") )
+			{
+			if( node.isTextual() && node.asText().equals("koral:term") )
+				okType = true;
+			else
+				{ // reset, this is not the requested @type.
+				level = 1;
+				okType = false;
+				}
+			}
+		else if( fieldName.equals("layer") ) 
+			{
+			if( node.isTextual() && node.asText().equals("lemma") )
+				queryType = LEMMA;
+			}
+		else if( fieldName.equals("key") )
+			{
+			if( node.isTextual() )
+				lemma = node.asText();
+			}
+		
+		if( okType && queryType == LEMMA && lemma != null )
+			{
+			if( mode == JsonTraverse.COLLECT )
+				{
+				if( lemmata == null )
+					lemmata = new ArrayList<String>();
+				lemmata.add(lemma);
+				
+				if( bLog && fout != null )
+					fout.printf("Debug: %s: found: lemma='%s' as koral:term.\n", func, lemma);
+				}
+			
+			isFound = true; 
+			
+			// reset before searching the next lemma (i.e. @type); supposing we stay underneath node 'query'.
+			level  = 1; 
+			okType = false;
+			}
+		return isFound;
+		} // level 2
+	
+	return false;
+	} // checkPath
+
+	/* rewriteObjNode
+	 * notes: https://mkyong.com/java/jackson-tree-model-example/
+	 * 08.04.20/FB
+	 */
+	
+	public void rewriteObjNode(JsonNode node, final int mode, final PrintStream fout)
+	
+	{
+	final String func = "rewriteObjNode";
+	
+	if( mode == JsonTraverse.REWRITE )
+		{
+		fout.printf("Debug: %s: rewriting for lemma '%s' ('%s') > '%s'...\n", func, 
+					lemma, lemmata.get(iRewrite), refs.get(iRewrite));
+		
+		((ObjectNode)node).put("key",   "");
+		((ObjectNode)node).put("layer", "orth");
+		((ObjectNode)node).put("desc",  "&"+lemma);
+		((ObjectNode)node).put("hide",  "key"); // TODO: must be ["key"] !
+		((ObjectNode)node).put("ref",   refs.get(iRewrite)); // TODO: must be ["key"] !
+		iRewrite++;
+		}
+	else // mode == REWRITE_EXP
+		{
+		fout.printf("Debug: %s: rewriting for lemma '%s'.\n", func, lemmata.get(iRewrite)); 
+	
+		// inserting expansion list from corresponding Lemma Response obj:
+		ArrayNode
+			array = objMapper.createArrayNode();
+		LemmaResponse
+			lemResp = lemRespList.get(iRewrite);
+		
+		for(int i=0; i<lemResp.listofWfs.size(); i++)
+			array.add(lemResp.listofWfs.get(i));
+		
+		((ObjectNode)node).set("key",   array);	// expansion list as Json Node.
+		((ObjectNode)node).put("layer", "orth");
+		((ObjectNode)node).put("desc",  "&"+lemma);
+		((ObjectNode)node).put("hide",  "key"); // TODO: must be ["key"] !
+		iRewrite++;
+		
+		/* old version :
+		ArrayNode
+			array = objMapper.createArrayNode();
+		List<String>
+			curList = expansionLists.get(iRewrite);
+		
+		for(int i=0; i<curList.size(); i++)
+			array.add(curList.get(i));
+			
+		((ObjectNode)node).set("key",   array);	// expansion list.
+		((ObjectNode)node).put("layer", "orth");
+		((ObjectNode)node).put("desc",  "&"+lemma);
+		((ObjectNode)node).put("hide",  "key"); // TODO: must be ["key"] !
+		iRewrite++;
+		*/
+		}
+
+	} // rewriteObjNode
+	
+	/*
+	 * getLemmata
+	 * 
+	 * returns list of lemmata collected and found in KoralQuery in String format.
+	 * 
+	 * 06.04.20/FB
+	 */
+	
+	public String getLemmata()
+	
+	{
+	return this.lemmata != null ? this.lemmata.toString() : "";
+	} // getLemmata
+	
+	/* getLemmataCount
+	 * 
+	 * returns no. of lemmata found in KoralQuery.
+	 * 07.04.20/FB
+	 */
+	
+	public int getLemmaCount()
+	
+	{
+	return this.lemmata != null ? this.lemmata.size() : 0;	
+	} // getLemmataCount
+	
+	/* getLemma:
+	 * returns lemma by its index i.
+	 * returns null if index out of range.
+	 * 07.04.20/FB
+	 */
+	
+	public String getLemma(int i)
+	
+	{
+	if( i < 0 || i > this.lemmata.size() )
+		return null;
+	
+	return this.lemmata.get(i);
+	} // getLemma
+	
+	/* setRef:
+	 * - inserts a reference to a instanciation list into the
+	 *   list refs by index i.
+	 * - index i must correspond to lemma i in list lemmata.
+	 * - this method ensures that list refs is allocated with as much positions
+	 *   than the size of list lemmata.
+	 * 07.04.20/FB
+	 */
+	 
+	public void setRef(String ref)
+	
+	{
+	if( this.refs == null )
+		{
+		int size = this.lemmata.size();
+		this.refs = new ArrayList<String>(size);
+		}
+	
+	this.refs.add(ref);
+	} // setRef
+	
+	/* getRefsCount:
+	 * returns no. of references stored in list this.refs.
+	 * 07.04.20/FB
+	 */
+	
+	public int getRefsCount()
+	
+	{
+	return this.refs != null ? this.refs.size() : 0 ;	
+	} // getRefsCount.
+	
+	/* getRefsasString:
+	 * - returns a printable list of references together with the corresponding
+	 *   lemmata.
+	 * 07.04.20/FB
+	 */
+	
+	public String getRefsasString()
+	
+	{
+	int
+		i, max; 
+	
+	if( this.lemmata == null || this.refs == null )
+		return "";
+	
+	//max = this.lemmata.size() > this.refs.size() ? 
+	//			this.lemmata.size() : this.refs.size();
+
+	return this.refs.toString();
+	} // getRefsasString
+	
+	/* addExpList
+	 * 
+	 * adds an Expansion List for lemma i.
+	 * Notes:
+	 * - add expList in same order as lemmata stored in list lemmata.
+	 * - todo: will be replaced by addLemmaResponse().
+	 * 08.04.20/FB
+	 */
+	
+	public void addExpList(List expList)
+	
+	{
+	if( expansionLists == null )
+		{
+		expansionLists = new ArrayList<List<String>>(lemmata.size());
+		}
+	
+	expansionLists.add(expList);
+	} // addExpList
+	
+	/*
+	 * addLemmaResponse:
+	 * - adds a LemmaResponse object for the correspondig lemma.
+	 * 30.04.20/FB
+	 * 
+	 */
+	
+	public void addLemmaResponse(LemmaResponse lemResp)
+	
+	{
+	if( this.lemRespList == null )
+		this.lemRespList = new ArrayList<LemmaResponse>(lemmata.size());
+	
+	this.lemRespList.add(lemResp);
+	} // addLemmaResponse
+	
+	/* rewriteSubQuery
+	 * 
+	 * Rules: Old			> 	New:
+	 * 		  "key": "&Haus"	"key": "ref", or
+	 * 		  "key": "&Haus"	"key": [Wf1, Wf2, ...].
+	 * 		  "layer": "lemma"	"layer": "orth"
+	 * 		  ""				"desc": "&Lemma" (neu)
+	 * 		  ""				"hide": "key"    (neu)
+	 * Arguments:
+	 * node		: expected to be a "wrap"-object.
+	 * 07.04.20/FB
+	 */
+	
+	protected void rewriteSubQuery(JsonNode node, final String lemma, final PrintStream fout)
+	
+	{
+	final String func = "rewriteSubQuery";
+	final boolean
+		bLog = true;
+	
+	if( bLog && fout != null)
+		fout.printf("Debug: %s: rewrite '%s'.\n", func, node.toString());
+	
+	if( node.isObject() )
+		{
+	    Iterator<String> 
+	    	fieldNames = node.fieldNames();
+	    
+		while(fieldNames.hasNext()) 
+			{
+		    String 
+		    	fieldName 	= fieldNames.next();
+		    JsonNode 
+		    	fieldValue = node.get(fieldName);
+		    
+		    if( fieldValue.isTextual() == false )
+		    	continue;
+		    
+		    // path search under 'query':
+		    if( fieldName.equals("key") )
+			    {
+			    if( bLog && fout != null )
+			    	fout.printf("Debug: %s: replacing %s='%s' by %s='%s'.\n", 
+				    			func, fieldName, fieldValue.asText(),
+				    			fieldName, "[...]");
+
+		    	//JsonNode newNode = objMapper.createObjectNode();
+			    //((ObjectNode)node).put("newkey", val);
+			    ((ObjectNode)node).put("key", "[...]");
+			    
+			    if( bLog && fout != null )
+			    	fout.printf("Debug: %s: %s='%s' (after replacement).\n", func, fieldName, node.get("key"));
+			    }
+		    else if( fieldName.equals("layer") )
+			    {
+			    	
+			    }
+		    
+			} // while
+
+		if( bLog && fout != null )
+			fout.printf("Debug: %s: after rewriting, wrap-Obj='%s'.\n", func, node.toString());
+
+		} // object
+	
+	} // rewriteSubQuery
+	
+	
+} // class TraversedPath
+
diff --git a/JsonTraverse/src/de/korap/services/LemmaResponse.java b/JsonTraverse/src/de/korap/services/LemmaResponse.java
new file mode 100644
index 0000000..bd6fd79
--- /dev/null
+++ b/JsonTraverse/src/de/korap/services/LemmaResponse.java
@@ -0,0 +1,104 @@
+package de.korap.services;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessorType;
+//import javax.xml.bind.annotation.XmlRootElement;
+//import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.*;
+
+/* General infos:
+ * http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html
+ */
+
+/*
+ * LemmaResponse: 
+ * Object to return by GlemmServices on a Lemma Request.
+ * Will be converted by glassfish to JSON.
+ * Notes:
+ * - header fields are prexided by 'head_' because JSON will be sorted alphabetically by JAXB.
+ * 
+ * 24.01.20/FB
+ */
+
+//@XmlRootElement(name="LemmaResponse") - no effect
+@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
+//@XmlType (name="abc", propOrder={"query", "options", "nWfs", "listofWfs"}) - no effect
+
+
+public class LemmaResponse 
+
+{
+	final int PRINT_LIST_LIMIT	= 10; // do not print more than 10 Wfs of listofWfs[].
+	
+	public int
+		head_nWfs = 0;
+	public String
+		head_query   = null,
+		head_options = null, // e.g. "+flex-sonst",
+		head_errMess = null;
+			
+	public List<String>
+		listofWfs = null;
+	
+	public LemmaResponse()
+	{
+		
+	}
+	
+	/* toString
+	 * - formats partially a LemmaResponse obj to string.
+	 * Returns formated string or null if an error occures.
+	 * 29.04.20/FB
+	 */
+	
+	public String toString()
+	
+	{
+	String
+		s = null;
+	//StringBuffer
+	//	sb = new StringBuffer();
+	
+	s = String.format("head: nWfs=%d, list=%s.", this.head_nWfs, this.listofWfs);
+	
+	return s != null ? s : "";
+	} // toString
+
+	/*   printPartialList:
+	 * 
+	 * - prints the full list of Wfs or, if the list is longer than 
+	 *   PRINT_LIST_LIMIT, only the beginning and the end of it.
+	 * 
+	 * Returns the formated (partial) list of Wfs as a string or "[]" if
+	 *         the list is empty.
+	 * 27.10.21/FB
+	 */
+	
+	public String printPartialList()
+	
+	{
+	StringBuffer
+		sb = new StringBuffer();
+	final int
+		iMin = PRINT_LIST_LIMIT/2,
+		iMax = this.listofWfs.size()-(PRINT_LIST_LIMIT/2);
+	
+	sb.append('[');
+	
+	for(int i=0; i<this.listofWfs.size(); i++)
+		{
+		if( i<iMin || i>=iMax )
+			{
+			if(i>0)
+				sb.append(',');
+			sb.append(this.listofWfs.get(i));
+			}
+		}
+	sb.append(']');
+	
+	return sb.toString();
+	
+	} // printPartialList
+
+}
diff --git a/Project-Tests/.classpath b/Project-Tests/.classpath
new file mode 100644
index 0000000..ad09874
--- /dev/null
+++ b/Project-Tests/.classpath
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/GlemmClient"/>
+	<classpathentry kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="src-Utils"/>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="/JsonTraverse"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/Utils"/>
+	<classpathentry exported="true" kind="lib" path="/Utils/target/Utils-0.1-SNAPSHOT.jar"/>
+	<classpathentry exported="true" kind="lib" path="/JsonTraverse/target/JsonTraverse-0.1-SNAPSHOT.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/wformServiceJar"/>
+	<classpathentry exported="true" kind="lib" path="/wformServiceJar/target/wformServiceJar-0.1-SNAPSHOT.jar"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/Project-Tests/.project b/Project-Tests/.project
new file mode 100644
index 0000000..82d872a
--- /dev/null
+++ b/Project-Tests/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Tests</name>
+	<comment></comment>
+	<projects>
+		<project>GlemmClient</project>
+		<project>JsonTraverse</project>
+		<project>Utils</project>
+		<project>wformServiceJar</project>
+		<project>wformServices</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>src-Utils</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services/Utils/src</location>
+		</link>
+	</linkedResources>
+</projectDescription>
diff --git a/Project-Tests/.settings/org.eclipse.jdt.core.prefs b/Project-Tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..8445b6b
--- /dev/null
+++ b/Project-Tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,13 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Project-Tests/.settings/org.eclipse.m2e.core.prefs b/Project-Tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/Project-Tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/Project-Tests/GlemmServices.err b/Project-Tests/GlemmServices.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Project-Tests/GlemmServices.err
diff --git a/Project-Tests/GlemmServices.log b/Project-Tests/GlemmServices.log
new file mode 100644
index 0000000..72fee53
--- /dev/null
+++ b/Project-Tests/GlemmServices.log
@@ -0,0 +1,908 @@
+Debug: doPOST_handleWordformQueries: version date: 04.04.20.
+Debug: doPOST_handleWordformQueries: starting time: 2020-05-15T18:39:50.618.
+Debug: doPOST_handleWordformQueries: query = '{
+  "@context" : "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld",
+  "collection" : {
+    "@type" : "koral:docGroup",
+    "operands" : [ {
+      "@type" : "koral:doc",
+      "key" : "availability",
+      "match" : "match:eq",
+      "type" : "type:regex",
+      "value" : "CC-BY.*"
+    }, {
+      "@type" : "koral:docGroup",
+      "operands" : [ {
+        "@type" : "koral:doc",
+        "key" : "availability",
+        "match" : "match:eq",
+        "type" : "type:regex",
+        "value" : "CC-BY.*"
+      }, {
+        "@type" : "koral:docGroup",
+        "operands" : [ {
+          "@type" : "koral:doc",
+          "key" : "availability",
+          "match" : "match:eq",
+          "type" : "type:regex",
+          "value" : "ACA.*"
+        }, {
+          "@type" : "koral:docGroup",
+          "operands" : [ {
+            "@type" : "koral:doc",
+            "key" : "availability",
+            "match" : "match:eq",
+            "type" : "type:regex",
+            "value" : "QAO-NC"
+          }, {
+            "@type" : "koral:doc",
+            "key" : "availability",
+            "match" : "match:eq",
+            "type" : "type:regex",
+            "value" : "QAO.*"
+          } ],
+          "operation" : "operation:or"
+        } ],
+        "operation" : "operation:or"
+      } ],
+      "operation" : "operation:or"
+    } ],
+    "operation" : "operation:and",
+    "rewrites" : [ {
+      "@type" : "koral:rewrite",
+      "operation" : "operation:insertion",
+      "scope" : "availability(FREE)",
+      "src" : "Kustvakt"
+    } ]
+  },
+  "matches" : [ "..." ],
+  "meta" : {
+    "benchmark" : "5.08010068 s",
+    "context" : {
+      "left" : [ "token", 40 ],
+      "right" : [ "token", 40 ]
+    },
+    "count" : 25,
+    "cutOff" : true,
+    "fields" : [ "ID", "UID", "textSigle", "corpusID", "author", "title", "subTitle", "textClass", "pubPlace", "pubDate", "availability", "layerInfos", "docSigle", "corpusSigle" ],
+    "itemsPerPage" : 25,
+    "serialQuery" : "spanDistance({129: spanNext(spanNext(tokens:tt/l:rennen, tokens:tt/l:schlafen), tokens:tt/l:laufen)}, {129: tokens:tt/l:kaufen}, [(w[0:2], notOrdered, notExcluded)])",
+    "startIndex" : 0,
+    "timeout" : 10000,
+    "totalResults" : -1,
+    "version" : "0.59.1"
+  },
+  "query" : {
+    "@type" : "koral:group",
+    "distances" : [ {
+      "@type" : "cosmas:distance",
+      "boundary" : {
+        "@type" : "koral:boundary",
+        "max" : 2,
+        "min" : 0
+      },
+      "key" : "w"
+    } ],
+    "inOrder" : false,
+    "operands" : [ {
+      "@type" : "koral:group",
+      "classOut" : 129,
+      "operands" : [ {
+        "@type" : "koral:group",
+        "operands" : [ {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "GF>2&rennen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        }, {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "schlafen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        }, {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "laufen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        } ],
+        "operation" : "operation:sequence"
+      } ],
+      "operation" : "operation:class"
+    }, {
+      "@type" : "koral:group",
+      "classOut" : 129,
+      "operands" : [ {
+        "@type" : "koral:token",
+        "wrap" : {
+          "@type" : "koral:term",
+          "foundry" : "tt",
+          "key" : "kaufen",
+          "layer" : "lemma",
+          "match" : "match:eq",
+          "rewrites" : [ {
+            "@type" : "koral:rewrite",
+            "operation" : "operation:injection",
+            "scope" : "foundry",
+            "src" : "Kustvakt"
+          } ]
+        }
+      } ],
+      "operation" : "operation:class"
+    } ],
+    "operation" : "operation:sequence"
+  }
+}'.
+Debug: traverse_and_rewrite_KoralQuery: ready for traversing query...
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@context':
+Debug:traverseJsonTree: single value field = 'http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld'
+Debug:traverseJsonTree: key='collection':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'CC-BY.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'CC-BY.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'ACA.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'QAO-NC'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'QAO.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:or'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:or'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:or'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:and'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:insertion'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'availability(FREE)'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='matches':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = '...'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='meta':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='benchmark':
+Debug:traverseJsonTree: single value field = '5.08010068 s'
+Debug:traverseJsonTree: key='context':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='left':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = 'token'
+Debug:traverseJsonTree: single value field = '40'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='right':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = 'token'
+Debug:traverseJsonTree: single value field = '40'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='count':
+Debug:traverseJsonTree: single value field = '25'
+Debug:traverseJsonTree: key='cutOff':
+Debug:traverseJsonTree: single value field = 'true'
+Debug:traverseJsonTree: key='fields':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = 'ID'
+Debug:traverseJsonTree: single value field = 'UID'
+Debug:traverseJsonTree: single value field = 'textSigle'
+Debug:traverseJsonTree: single value field = 'corpusID'
+Debug:traverseJsonTree: single value field = 'author'
+Debug:traverseJsonTree: single value field = 'title'
+Debug:traverseJsonTree: single value field = 'subTitle'
+Debug:traverseJsonTree: single value field = 'textClass'
+Debug:traverseJsonTree: single value field = 'pubPlace'
+Debug:traverseJsonTree: single value field = 'pubDate'
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: single value field = 'layerInfos'
+Debug:traverseJsonTree: single value field = 'docSigle'
+Debug:traverseJsonTree: single value field = 'corpusSigle'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='itemsPerPage':
+Debug:traverseJsonTree: single value field = '25'
+Debug:traverseJsonTree: key='serialQuery':
+Debug:traverseJsonTree: single value field = 'spanDistance({129: spanNext(spanNext(tokens:tt/l:rennen, tokens:tt/l:schlafen), tokens:tt/l:laufen)}, {129: tokens:tt/l:kaufen}, [(w[0:2], notOrdered, notExcluded)])'
+Debug:traverseJsonTree: key='startIndex':
+Debug:traverseJsonTree: single value field = '0'
+Debug:traverseJsonTree: key='timeout':
+Debug:traverseJsonTree: single value field = '10000'
+Debug:traverseJsonTree: key='totalResults':
+Debug:traverseJsonTree: single value field = '-1'
+Debug:traverseJsonTree: key='version':
+Debug:traverseJsonTree: single value field = '0.59.1'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='query':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='distances':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'cosmas:distance'
+Debug:traverseJsonTree: key='boundary':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:boundary'
+Debug:traverseJsonTree: key='max':
+Debug:traverseJsonTree: single value field = '2'
+Debug:traverseJsonTree: key='min':
+Debug:traverseJsonTree: single value field = '0'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'w'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='inOrder':
+Debug:traverseJsonTree: single value field = 'false'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='classOut':
+Debug:traverseJsonTree: single value field = '129'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"GF>2&rennen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'GF>2&rennen'
+Debug: checkPath: found: lemma='GF>2&rennen' as koral:term.
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"schlafen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'schlafen'
+Debug: checkPath: found: lemma='schlafen' as koral:term.
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"laufen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'laufen'
+Debug: checkPath: found: lemma='laufen' as koral:term.
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:sequence'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:class'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='classOut':
+Debug:traverseJsonTree: single value field = '129'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"kaufen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'kaufen'
+Debug: checkPath: found: lemma='kaufen' as koral:term.
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:class'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:sequence'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: } : end of object.
+Debug: traverse_and_rewrite_KoralQuery: query traversed.
+Debug: GlemmClient: constructor called.
+Debug: sendQuery: requested lemma = 'GF>2&rennen'.
+Debug: sendQuery: building URL='http://c0r4ft:40913/GlemmServices2-0.0.1-SNAPSHOT/index/info/lemma/GF>2&rennen'.
+Debug: sendQuery: HTTP return status = OK.
+Debug: sendQuery: HTTP Response Content = '{"head_nWfs":0,"head_options":"flex","head_query":"GF>2&rennen","listofWfs":[]}'.
+Debug: sendQuery: lemResp='head: nWfs=0, list=[].'.
+Debug: sendQuery: requested lemma = 'schlafen'.
+Debug: sendQuery: building URL='http://c0r4ft:40913/GlemmServices2-0.0.1-SNAPSHOT/index/info/lemma/schlafen'.
+Debug: sendQuery: HTTP return status = OK.
+Debug: sendQuery: HTTP Response Content = '{"head_nWfs":50,"head_options":"flex","head_query":"schlafen","listofWfs":["Geschlafen","Schlaef","Schlaefe","Schlaefst","Schlafe","Schlafen","Schlafend","Schlafende","Schlafendem","Schlafenden","Schlafender","Schlafendes","Schlafet","Schlafn","Schlafst","Schlaft","Schlief","Schliefe","Schliefen","Schliefest","Schliefst","Schlieft","geschlafen","schlaefst","schlaeft","schlaf","schlafe","schlafen","schlafend","schlafende","schlafendem","schlafenden","schlafender","schlafendes","schlafendst","schlafest","schlafet","schlafn","schlafnden","schlafst","schlaft","schlief","schliefe","schliefen","schliefend","schliefest","schliefet","schliefst","schlieft","schläft"]}'.
+Debug: sendQuery: lemResp='head: nWfs=50, list=[Geschlafen, Schlaef, Schlaefe, Schlaefst, Schlafe, Schlafen, Schlafend, Schlafende, Schlafendem, Schlafenden, Schlafender, Schlafendes, Schlafet, Schlafn, Schlafst, Schlaft, Schlief, Schliefe, Schliefen, Schliefest, Schliefst, Schlieft, geschlafen, schlaefst, schlaeft, schlaf, schlafe, schlafen, schlafend, schlafende, schlafendem, schlafenden, schlafender, schlafendes, schlafendst, schlafest, schlafet, schlafn, schlafnden, schlafst, schlaft, schlief, schliefe, schliefen, schliefend, schliefest, schliefet, schliefst, schlieft, schläft].'.
+Debug: sendQuery: requested lemma = 'laufen'.
+Debug: sendQuery: building URL='http://c0r4ft:40913/GlemmServices2-0.0.1-SNAPSHOT/index/info/lemma/laufen'.
+Debug: sendQuery: HTTP return status = OK.
+Debug: sendQuery: HTTP Response Content = '{"head_nWfs":38,"head_options":"flex","head_query":"laufen","listofWfs":["Gelaufen","Laeufe","Laeufst","Laeuft","Laufe","Laufen","Laufendsten","Laufet","Laufn","Lauft","Lief","Liefe","Liefen","Lieft","gelaufen","laeufst","laeuft","laeufts","lauf","laufe","laufen","laufend","laufet","laufn","laufnden","laufst","lauft","lief","liefe","liefen","liefend","liefenden","liefender","liefest","liefet","liefst","lieft","läuft"]}'.
+Debug: sendQuery: lemResp='head: nWfs=38, list=[Gelaufen, Laeufe, Laeufst, Laeuft, Laufe, Laufen, Laufendsten, Laufet, Laufn, Lauft, Lief, Liefe, Liefen, Lieft, gelaufen, laeufst, laeuft, laeufts, lauf, laufe, laufen, laufend, laufet, laufn, laufnden, laufst, lauft, lief, liefe, liefen, liefend, liefenden, liefender, liefest, liefet, liefst, lieft, läuft].'.
+Debug: sendQuery: requested lemma = 'kaufen'.
+Debug: sendQuery: building URL='http://c0r4ft:40913/GlemmServices2-0.0.1-SNAPSHOT/index/info/lemma/kaufen'.
+Debug: sendQuery: HTTP return status = OK.
+Debug: sendQuery: HTTP Response Content = '{"head_nWfs":37,"head_options":"flex","head_query":"kaufen","listofWfs":["Gekauft","Kaufe","Kaufen","Kaufend","Kaufende","Kaufenden","Kaufender","Kaufendes","Kaufet","Kaufn","Kaufst","Kauft","Kaufte","Kauften","Zukaufe","gekauft","kauf","kaufe","kaufen","kaufend","kaufende","kaufendem","kaufenden","kaufender","kaufendes","kaufest","kaufet","kaufn","kaufst","kauft","kaufte","kauften","kauftest","kauftet","kauftst","zukaufe","zukaufte"]}'.
+Debug: sendQuery: lemResp='head: nWfs=37, list=[Gekauft, Kaufe, Kaufen, Kaufend, Kaufende, Kaufenden, Kaufender, Kaufendes, Kaufet, Kaufn, Kaufst, Kauft, Kaufte, Kauften, Zukaufe, gekauft, kauf, kaufe, kaufen, kaufend, kaufende, kaufendem, kaufenden, kaufender, kaufendes, kaufest, kaufet, kaufn, kaufst, kauft, kaufte, kauften, kauftest, kauftet, kauftst, zukaufe, zukaufte].'.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@context':
+Debug:traverseJsonTree: single value field = 'http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld'
+Debug:traverseJsonTree: key='collection':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'CC-BY.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'CC-BY.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'ACA.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:docGroup'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'QAO-NC'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:doc'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='type':
+Debug:traverseJsonTree: single value field = 'type:regex'
+Debug:traverseJsonTree: key='value':
+Debug:traverseJsonTree: single value field = 'QAO.*'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:or'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:or'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:or'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:and'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:insertion'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'availability(FREE)'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='matches':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = '...'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='meta':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='benchmark':
+Debug:traverseJsonTree: single value field = '5.08010068 s'
+Debug:traverseJsonTree: key='context':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='left':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = 'token'
+Debug:traverseJsonTree: single value field = '40'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='right':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = 'token'
+Debug:traverseJsonTree: single value field = '40'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='count':
+Debug:traverseJsonTree: single value field = '25'
+Debug:traverseJsonTree: key='cutOff':
+Debug:traverseJsonTree: single value field = 'true'
+Debug:traverseJsonTree: key='fields':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: single value field = 'ID'
+Debug:traverseJsonTree: single value field = 'UID'
+Debug:traverseJsonTree: single value field = 'textSigle'
+Debug:traverseJsonTree: single value field = 'corpusID'
+Debug:traverseJsonTree: single value field = 'author'
+Debug:traverseJsonTree: single value field = 'title'
+Debug:traverseJsonTree: single value field = 'subTitle'
+Debug:traverseJsonTree: single value field = 'textClass'
+Debug:traverseJsonTree: single value field = 'pubPlace'
+Debug:traverseJsonTree: single value field = 'pubDate'
+Debug:traverseJsonTree: single value field = 'availability'
+Debug:traverseJsonTree: single value field = 'layerInfos'
+Debug:traverseJsonTree: single value field = 'docSigle'
+Debug:traverseJsonTree: single value field = 'corpusSigle'
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='itemsPerPage':
+Debug:traverseJsonTree: single value field = '25'
+Debug:traverseJsonTree: key='serialQuery':
+Debug:traverseJsonTree: single value field = 'spanDistance({129: spanNext(spanNext(tokens:tt/l:rennen, tokens:tt/l:schlafen), tokens:tt/l:laufen)}, {129: tokens:tt/l:kaufen}, [(w[0:2], notOrdered, notExcluded)])'
+Debug:traverseJsonTree: key='startIndex':
+Debug:traverseJsonTree: single value field = '0'
+Debug:traverseJsonTree: key='timeout':
+Debug:traverseJsonTree: single value field = '10000'
+Debug:traverseJsonTree: key='totalResults':
+Debug:traverseJsonTree: single value field = '-1'
+Debug:traverseJsonTree: key='version':
+Debug:traverseJsonTree: single value field = '0.59.1'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='query':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='distances':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'cosmas:distance'
+Debug:traverseJsonTree: key='boundary':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:boundary'
+Debug:traverseJsonTree: key='max':
+Debug:traverseJsonTree: single value field = '2'
+Debug:traverseJsonTree: key='min':
+Debug:traverseJsonTree: single value field = '0'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'w'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='inOrder':
+Debug:traverseJsonTree: single value field = 'false'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='classOut':
+Debug:traverseJsonTree: single value field = '129'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"GF>2&rennen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'GF>2&rennen'
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug: rewriteObjNode: rewriting for lemma 'GF>2&rennen'.
+Debug:traverseJsonTree: after rewrite: node='{"@type":"koral:term","foundry":"tt","key":[],"layer":"orth","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}],"desc":"&GF>2&rennen","hide":"key"}'.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"schlafen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'schlafen'
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug: rewriteObjNode: rewriting for lemma 'schlafen'.
+Debug:traverseJsonTree: after rewrite: node='{"@type":"koral:term","foundry":"tt","key":["Geschlafen","Schlaef","Schlaefe","Schlaefst","Schlafe","Schlafen","Schlafend","Schlafende","Schlafendem","Schlafenden","Schlafender","Schlafendes","Schlafet","Schlafn","Schlafst","Schlaft","Schlief","Schliefe","Schliefen","Schliefest","Schliefst","Schlieft","geschlafen","schlaefst","schlaeft","schlaf","schlafe","schlafen","schlafend","schlafende","schlafendem","schlafenden","schlafender","schlafendes","schlafendst","schlafest","schlafet","schlafn","schlafnden","schlafst","schlaft","schlief","schliefe","schliefen","schliefend","schliefest","schliefet","schliefst","schlieft","schläft"],"layer":"orth","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}],"desc":"&schlafen","hide":"key"}'.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"laufen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'laufen'
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug: rewriteObjNode: rewriting for lemma 'laufen'.
+Debug:traverseJsonTree: after rewrite: node='{"@type":"koral:term","foundry":"tt","key":["Gelaufen","Laeufe","Laeufst","Laeuft","Laufe","Laufen","Laufendsten","Laufet","Laufn","Lauft","Lief","Liefe","Liefen","Lieft","gelaufen","laeufst","laeuft","laeufts","lauf","laufe","laufen","laufend","laufet","laufn","laufnden","laufst","lauft","lief","liefe","liefen","liefend","liefenden","liefender","liefest","liefet","liefst","lieft","läuft"],"layer":"orth","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}],"desc":"&laufen","hide":"key"}'.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:sequence'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:class'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:group'
+Debug:traverseJsonTree: key='classOut':
+Debug:traverseJsonTree: single value field = '129'
+Debug:traverseJsonTree: key='operands':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:token'
+Debug: checkPath: wrap-Obj: '{"@type":"koral:term","foundry":"tt","key":"kaufen","layer":"lemma","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}]}'
+Debug:traverseJsonTree: key='wrap':
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:term'
+Debug:traverseJsonTree: key='foundry':
+Debug:traverseJsonTree: single value field = 'tt'
+Debug:traverseJsonTree: key='key':
+Debug:traverseJsonTree: single value field = 'kaufen'
+Debug:traverseJsonTree: key='layer':
+Debug:traverseJsonTree: single value field = 'lemma'
+Debug:traverseJsonTree: key='match':
+Debug:traverseJsonTree: single value field = 'match:eq'
+Debug:traverseJsonTree: key='rewrites':
+Debug:traverseJsonTree: array: [
+Debug:traverseJsonTree: object: { 
+Debug:traverseJsonTree: key='@type':
+Debug:traverseJsonTree: single value field = 'koral:rewrite'
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:injection'
+Debug:traverseJsonTree: key='scope':
+Debug:traverseJsonTree: single value field = 'foundry'
+Debug:traverseJsonTree: key='src':
+Debug:traverseJsonTree: single value field = 'Kustvakt'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: } : end of object.
+Debug: rewriteObjNode: rewriting for lemma 'kaufen'.
+Debug:traverseJsonTree: after rewrite: node='{"@type":"koral:term","foundry":"tt","key":["Gekauft","Kaufe","Kaufen","Kaufend","Kaufende","Kaufenden","Kaufender","Kaufendes","Kaufet","Kaufn","Kaufst","Kauft","Kaufte","Kauften","Zukaufe","gekauft","kauf","kaufe","kaufen","kaufend","kaufende","kaufendem","kaufenden","kaufender","kaufendes","kaufest","kaufet","kaufn","kaufst","kauft","kaufte","kauften","kauftest","kauftet","kauftst","zukaufe","zukaufte"],"layer":"orth","match":"match:eq","rewrites":[{"@type":"koral:rewrite","operation":"operation:injection","scope":"foundry","src":"Kustvakt"}],"desc":"&kaufen","hide":"key"}'.
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:class'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: ] end of array.
+Debug:traverseJsonTree: key='operation':
+Debug:traverseJsonTree: single value field = 'operation:sequence'
+Debug:traverseJsonTree: } : end of object.
+Debug:traverseJsonTree: } : end of object.
+Debug: simulateWordformServices: receiving rewritten query from WordformServices...
diff --git a/Project-Tests/Readme.txt b/Project-Tests/Readme.txt
new file mode 100644
index 0000000..a3a737c
--- /dev/null
+++ b/Project-Tests/Readme.txt
@@ -0,0 +1,21 @@
+Kompilation von Project-Tests
+=============================
+
+Update: 22.04.20/FB
+
+Projekte:
+
+1. Project-Tests > target/TestGlemmServices.jar
+2. Project GlemmClient > target ... GlemmClient.class
+
+Compilieren:
+
+ - Project clean
+ - Project build
+ - Project Project-Tests: Run As Build mit Goal = package.
+
+Erzeugt:
+
+ - Projekt "Project-Tests" > target > TestGlemmClient.jar.
+ - Diese Vorgehensweise kopiert GlemmClient.class in Project-Tests. Es wird keine GlemmClient.jar erzeugt.
+ - Erzeugen von GlemmClient-0.0.1-SNAPSHOT.jar: Projekt "GlemmClient" - Run As build mit Goal = package.
\ No newline at end of file
diff --git a/Project-Tests/pom.xml b/Project-Tests/pom.xml
new file mode 100644
index 0000000..b1c269c
--- /dev/null
+++ b/Project-Tests/pom.xml
@@ -0,0 +1,82 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services.glemm.client</groupId>
+		<artifactId>GlemmClient</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>Utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>wformServiceJar</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/Project-Tests/query.in.pretty.json b/Project-Tests/query.in.pretty.json
new file mode 100644
index 0000000..f13227c
--- /dev/null
+++ b/Project-Tests/query.in.pretty.json
@@ -0,0 +1,162 @@
+{
+  "@context" : "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld",
+  "collection" : {
+    "@type" : "koral:docGroup",
+    "operands" : [ {
+      "@type" : "koral:doc",
+      "key" : "availability",
+      "match" : "match:eq",
+      "type" : "type:regex",
+      "value" : "CC-BY.*"
+    }, {
+      "@type" : "koral:docGroup",
+      "operands" : [ {
+        "@type" : "koral:doc",
+        "key" : "availability",
+        "match" : "match:eq",
+        "type" : "type:regex",
+        "value" : "CC-BY.*"
+      }, {
+        "@type" : "koral:docGroup",
+        "operands" : [ {
+          "@type" : "koral:doc",
+          "key" : "availability",
+          "match" : "match:eq",
+          "type" : "type:regex",
+          "value" : "ACA.*"
+        }, {
+          "@type" : "koral:docGroup",
+          "operands" : [ {
+            "@type" : "koral:doc",
+            "key" : "availability",
+            "match" : "match:eq",
+            "type" : "type:regex",
+            "value" : "QAO-NC"
+          }, {
+            "@type" : "koral:doc",
+            "key" : "availability",
+            "match" : "match:eq",
+            "type" : "type:regex",
+            "value" : "QAO.*"
+          } ],
+          "operation" : "operation:or"
+        } ],
+        "operation" : "operation:or"
+      } ],
+      "operation" : "operation:or"
+    } ],
+    "operation" : "operation:and",
+    "rewrites" : [ {
+      "@type" : "koral:rewrite",
+      "operation" : "operation:insertion",
+      "scope" : "availability(FREE)",
+      "src" : "Kustvakt"
+    } ]
+  },
+  "matches" : [ "..." ],
+  "meta" : {
+    "benchmark" : "5.08010068 s",
+    "context" : {
+      "left" : [ "token", 40 ],
+      "right" : [ "token", 40 ]
+    },
+    "count" : 25,
+    "cutOff" : true,
+    "fields" : [ "ID", "UID", "textSigle", "corpusID", "author", "title", "subTitle", "textClass", "pubPlace", "pubDate", "availability", "layerInfos", "docSigle", "corpusSigle" ],
+    "itemsPerPage" : 25,
+    "serialQuery" : "spanDistance({129: spanNext(spanNext(tokens:tt/l:rennen, tokens:tt/l:schlafen), tokens:tt/l:laufen)}, {129: tokens:tt/l:kaufen}, [(w[0:2], notOrdered, notExcluded)])",
+    "startIndex" : 0,
+    "timeout" : 10000,
+    "totalResults" : -1,
+    "version" : "0.59.1"
+  },
+  "query" : {
+    "@type" : "koral:group",
+    "distances" : [ {
+      "@type" : "cosmas:distance",
+      "boundary" : {
+        "@type" : "koral:boundary",
+        "max" : 2,
+        "min" : 0
+      },
+      "key" : "w"
+    } ],
+    "inOrder" : false,
+    "operands" : [ {
+      "@type" : "koral:group",
+      "classOut" : 129,
+      "operands" : [ {
+        "@type" : "koral:group",
+        "operands" : [ {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "GF>2&rennen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        }, {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "schlafen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        }, {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "laufen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        } ],
+        "operation" : "operation:sequence"
+      } ],
+      "operation" : "operation:class"
+    }, {
+      "@type" : "koral:group",
+      "classOut" : 129,
+      "operands" : [ {
+        "@type" : "koral:token",
+        "wrap" : {
+          "@type" : "koral:term",
+          "foundry" : "tt",
+          "key" : "kaufen",
+          "layer" : "lemma",
+          "match" : "match:eq",
+          "rewrites" : [ {
+            "@type" : "koral:rewrite",
+            "operation" : "operation:injection",
+            "scope" : "foundry",
+            "src" : "Kustvakt"
+          } ]
+        }
+      } ],
+      "operation" : "operation:class"
+    } ],
+    "operation" : "operation:sequence"
+  }
+}
\ No newline at end of file
diff --git a/Project-Tests/query.json b/Project-Tests/query.json
new file mode 100644
index 0000000..c9a1c35
--- /dev/null
+++ b/Project-Tests/query.json
@@ -0,0 +1,220 @@
+{
+  "@context": "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld",
+  "collection": {
+    "@type": "koral:docGroup",
+    "operands": [
+      {
+        "@type": "koral:doc",
+        "key": "availability",
+        "match": "match:eq",
+        "type": "type:regex",
+        "value": "CC-BY.*"
+      },
+      {
+        "@type": "koral:docGroup",
+        "operands": [
+          {
+            "@type": "koral:doc",
+            "key": "availability",
+            "match": "match:eq",
+            "type": "type:regex",
+            "value": "CC-BY.*"
+          },
+          {
+            "@type": "koral:docGroup",
+            "operands": [
+              {
+                "@type": "koral:doc",
+                "key": "availability",
+                "match": "match:eq",
+                "type": "type:regex",
+                "value": "ACA.*"
+              },
+              {
+                "@type": "koral:docGroup",
+                "operands": [
+                  {
+                    "@type": "koral:doc",
+                    "key": "availability",
+                    "match": "match:eq",
+                    "type": "type:regex",
+                    "value": "QAO-NC"
+                  },
+                  {
+                    "@type": "koral:doc",
+                    "key": "availability",
+                    "match": "match:eq",
+                    "type": "type:regex",
+                    "value": "QAO.*"
+                  }
+                ],
+                "operation": "operation:or"
+              }
+            ],
+            "operation": "operation:or"
+          }
+        ],
+        "operation": "operation:or"
+      }
+    ],
+    "operation": "operation:and",
+    "rewrites": [
+      {
+        "@type": "koral:rewrite",
+        "operation": "operation:insertion",
+        "scope": "availability(FREE)",
+        "src": "Kustvakt"
+      }
+    ]
+  },
+  "matches": [
+    "..."
+  ],
+  "meta": {
+    "benchmark": "5.08010068 s",
+    "context": {
+      "left": [
+        "token",
+        40
+      ],
+      "right": [
+        "token",
+        40
+      ]
+    },
+    "count": 25,
+    "cutOff": true,
+    "fields": [
+      "ID",
+      "UID",
+      "textSigle",
+      "corpusID",
+      "author",
+      "title",
+      "subTitle",
+      "textClass",
+      "pubPlace",
+      "pubDate",
+      "availability",
+      "layerInfos",
+      "docSigle",
+      "corpusSigle"
+    ],
+    "itemsPerPage": 25,
+    "serialQuery": "spanDistance({129: spanNext(spanNext(tokens:tt/l:rennen, tokens:tt/l:schlafen), tokens:tt/l:laufen)}, {129: tokens:tt/l:kaufen}, [(w[0:2], notOrdered, notExcluded)])",
+    "startIndex": 0,
+    "timeout": 10000,
+    "totalResults": -1,
+    "version": "0.59.1"
+  },
+  "query": {
+    "@type": "koral:group",
+    "distances": [
+      {
+        "@type": "cosmas:distance",
+        "boundary": {
+          "@type": "koral:boundary",
+          "max": 2,
+          "min": 0
+        },
+        "key": "w"
+      }
+    ],
+    "inOrder": false,
+    "operands": [
+      {
+        "@type": "koral:group",
+        "classOut": 129,
+        "operands": [
+          {
+            "@type": "koral:group",
+            "operands": [
+              {
+                "@type": "koral:token",
+                "wrap": {
+                  "@type": "koral:term",
+                  "foundry": "tt",
+                  "key": "GF>2&rennen",
+                  "layer": "lemma",
+                  "match": "match:eq",
+                  "rewrites": [
+                    {
+                      "@type": "koral:rewrite",
+                      "operation": "operation:injection",
+                      "scope": "foundry",
+                      "src": "Kustvakt"
+                    }
+                  ]
+                }
+              },
+              {
+                "@type": "koral:token",
+                "wrap": {
+                  "@type": "koral:term",
+                  "foundry": "tt",
+                  "key": "schlafen",
+                  "layer": "lemma",
+                  "match": "match:eq",
+                  "rewrites": [
+                    {
+                      "@type": "koral:rewrite",
+                      "operation": "operation:injection",
+                      "scope": "foundry",
+                      "src": "Kustvakt"
+                    }
+                  ]
+                }
+              },
+              {
+                "@type": "koral:token",
+                "wrap": {
+                  "@type": "koral:term",
+                  "foundry": "tt",
+                  "key": "laufen",
+                  "layer": "lemma",
+                  "match": "match:eq",
+                  "rewrites": [
+                    {
+                      "@type": "koral:rewrite",
+                      "operation": "operation:injection",
+                      "scope": "foundry",
+                      "src": "Kustvakt"
+                    }
+                  ]
+                }
+              }
+            ],
+            "operation": "operation:sequence"
+          }
+        ],
+        "operation": "operation:class"
+      },
+      {
+        "@type": "koral:group",
+        "classOut": 129,
+        "operands": [
+          {
+            "@type": "koral:token",
+            "wrap": {
+              "@type": "koral:term",
+              "foundry": "tt",
+              "key": "kaufen",
+              "layer": "lemma",
+              "match": "match:eq",
+              "rewrites": [
+                {
+                  "@type": "koral:rewrite",
+                  "operation": "operation:injection",
+                  "scope": "foundry",
+                  "src": "Kustvakt"
+                }
+              ]
+            }
+          }
+        ],
+        "operation": "operation:class"
+      }
+    ],
+    "operation": "operation:sequence"
+  }
+}
diff --git a/Project-Tests/query.out.pretty.json b/Project-Tests/query.out.pretty.json
new file mode 100644
index 0000000..f13227c
--- /dev/null
+++ b/Project-Tests/query.out.pretty.json
@@ -0,0 +1,162 @@
+{
+  "@context" : "http://korap.ids-mannheim.de/ns/KoralQuery/v0.3/context.jsonld",
+  "collection" : {
+    "@type" : "koral:docGroup",
+    "operands" : [ {
+      "@type" : "koral:doc",
+      "key" : "availability",
+      "match" : "match:eq",
+      "type" : "type:regex",
+      "value" : "CC-BY.*"
+    }, {
+      "@type" : "koral:docGroup",
+      "operands" : [ {
+        "@type" : "koral:doc",
+        "key" : "availability",
+        "match" : "match:eq",
+        "type" : "type:regex",
+        "value" : "CC-BY.*"
+      }, {
+        "@type" : "koral:docGroup",
+        "operands" : [ {
+          "@type" : "koral:doc",
+          "key" : "availability",
+          "match" : "match:eq",
+          "type" : "type:regex",
+          "value" : "ACA.*"
+        }, {
+          "@type" : "koral:docGroup",
+          "operands" : [ {
+            "@type" : "koral:doc",
+            "key" : "availability",
+            "match" : "match:eq",
+            "type" : "type:regex",
+            "value" : "QAO-NC"
+          }, {
+            "@type" : "koral:doc",
+            "key" : "availability",
+            "match" : "match:eq",
+            "type" : "type:regex",
+            "value" : "QAO.*"
+          } ],
+          "operation" : "operation:or"
+        } ],
+        "operation" : "operation:or"
+      } ],
+      "operation" : "operation:or"
+    } ],
+    "operation" : "operation:and",
+    "rewrites" : [ {
+      "@type" : "koral:rewrite",
+      "operation" : "operation:insertion",
+      "scope" : "availability(FREE)",
+      "src" : "Kustvakt"
+    } ]
+  },
+  "matches" : [ "..." ],
+  "meta" : {
+    "benchmark" : "5.08010068 s",
+    "context" : {
+      "left" : [ "token", 40 ],
+      "right" : [ "token", 40 ]
+    },
+    "count" : 25,
+    "cutOff" : true,
+    "fields" : [ "ID", "UID", "textSigle", "corpusID", "author", "title", "subTitle", "textClass", "pubPlace", "pubDate", "availability", "layerInfos", "docSigle", "corpusSigle" ],
+    "itemsPerPage" : 25,
+    "serialQuery" : "spanDistance({129: spanNext(spanNext(tokens:tt/l:rennen, tokens:tt/l:schlafen), tokens:tt/l:laufen)}, {129: tokens:tt/l:kaufen}, [(w[0:2], notOrdered, notExcluded)])",
+    "startIndex" : 0,
+    "timeout" : 10000,
+    "totalResults" : -1,
+    "version" : "0.59.1"
+  },
+  "query" : {
+    "@type" : "koral:group",
+    "distances" : [ {
+      "@type" : "cosmas:distance",
+      "boundary" : {
+        "@type" : "koral:boundary",
+        "max" : 2,
+        "min" : 0
+      },
+      "key" : "w"
+    } ],
+    "inOrder" : false,
+    "operands" : [ {
+      "@type" : "koral:group",
+      "classOut" : 129,
+      "operands" : [ {
+        "@type" : "koral:group",
+        "operands" : [ {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "GF>2&rennen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        }, {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "schlafen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        }, {
+          "@type" : "koral:token",
+          "wrap" : {
+            "@type" : "koral:term",
+            "foundry" : "tt",
+            "key" : "laufen",
+            "layer" : "lemma",
+            "match" : "match:eq",
+            "rewrites" : [ {
+              "@type" : "koral:rewrite",
+              "operation" : "operation:injection",
+              "scope" : "foundry",
+              "src" : "Kustvakt"
+            } ]
+          }
+        } ],
+        "operation" : "operation:sequence"
+      } ],
+      "operation" : "operation:class"
+    }, {
+      "@type" : "koral:group",
+      "classOut" : 129,
+      "operands" : [ {
+        "@type" : "koral:token",
+        "wrap" : {
+          "@type" : "koral:term",
+          "foundry" : "tt",
+          "key" : "kaufen",
+          "layer" : "lemma",
+          "match" : "match:eq",
+          "rewrites" : [ {
+            "@type" : "koral:rewrite",
+            "operation" : "operation:injection",
+            "scope" : "foundry",
+            "src" : "Kustvakt"
+          } ]
+        }
+      } ],
+      "operation" : "operation:class"
+    } ],
+    "operation" : "operation:sequence"
+  }
+}
\ No newline at end of file
diff --git a/Project-Tests/src/test/TestJson.java b/Project-Tests/src/test/TestJson.java
new file mode 100644
index 0000000..0160ff6
--- /dev/null
+++ b/Project-Tests/src/test/TestJson.java
@@ -0,0 +1,214 @@
+/* 
+ * Set of methods for testing Json parsing methods, wordform services and Glemm services.
+ * 
+ * 03.04.20/FB
+ */
+
+package test;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import de.korap.json.JsonTraverse;
+import de.korap.json.TraversedPath;
+import de.korap.services.glemm.client.GlemmClient;
+import de.korap.services.utils.Utils;
+import de.korap.services.WordformServices;
+
+public class TestJson
+
+{
+	static String inputFilename = "query.in.pretty.json";
+	static String outputFilename = "query.out.pretty.json";
+
+	final static boolean bSimulateWordformServices = true;
+	
+	public static void main(String[] args)
+	
+	{
+	File
+		inFile = new File(inputFilename);
+	File
+		outFile = new File(outputFilename);
+    ObjectMapper
+		objMapper = null;
+	JsonNode
+		jsonNode = null;
+	TraversedPath
+		tPath	 = null;
+	int
+		mode	 = JsonTraverse.REWRITE; 	// JsonTraverse.REWRITE or REWRITE_EXP
+	
+	if( bSimulateWordformServices )
+	{
+		System.out.printf("TestJson: starting simulation of WordformServices...\n");
+		simulateWordformServices(inputFilename, outputFilename);
+		return;
+	}
+	
+	System.out.printf("TestJson: test on '%s'...\n", inputFilename);
+	
+	objMapper = new ObjectMapper();
+	
+	// get full query as a JsonNode tree:
+	try {
+		// get full query from file as a JsonNode tree:
+		jsonNode = objMapper.readTree(inFile);
+		System.out.printf("TestJson: reading from input file: ok.\n");
+		
+		// traverse query and collect lemma subqueries in a TraversedPath object:
+		tPath = new TraversedPath(objMapper);
+		JsonTraverse.traverseJsonTree(jsonNode, tPath, JsonTraverse.COLLECT);
+		System.out.printf("Debug: TestJson: gefundene Lemmata: #: %d, list: '%s'.\n", tPath.getLemmaCount(), tPath.getLemmata());
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		}
+
+	// Exit if no lemma subqueries found:
+	if( tPath == null || tPath.getLemmaCount() == 0 )
+		{
+		System.out.printf("TestJson: keine lemmata gefunden > Rewrite überspringen.\n");
+		return;
+		}
+
+	// Call GlemmServices to resolve lemma-Subqueries.
+	// This returns for each lemma a reference to a list of wordform instanciations
+	// (= instantiation list). 
+	// This list is submitted to traversJsonTree() with the use of the tPath object.
+	
+	// Simulates building of expansion lists, storing them in tPath:
+	if( mode == JsonTraverse.REWRITE)
+		{
+		simulateGlemmServicesConnect(tPath);
+		simulateGlemmServices(tPath);
+		}
+	else
+		simulateGlemmServicesWfs(tPath);
+	
+	// Rewrite KoralQuery: use either JsonTraverse.REWRITE or .REWRITE_EXP:
+	
+	JsonTraverse.traverseJsonTree(jsonNode, tPath, mode);
+		
+	// return rewrittn Json Tree to file:
+	try {
+		objMapper.writerWithDefaultPrettyPrinter().writeValue(outFile, jsonNode);
+		} 
+	catch (IOException e) 
+		{
+		e.printStackTrace();
+		}
+	
+	} // main
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * simulateWordformServices:
+	 * 
+	 * - calls same methode to parse and rewrite KoralQuery that wordformServices do.
+	 * 
+	 * 24.04.20/FB 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 */
+	
+	static void simulateWordformServices(String inputFilename, String outputFilename)  
+	
+	{
+	final String func = "simulateWordformServices";
+	String
+		query		= null,
+		newQuery	= null;
+
+    try {
+		query = Utils.readFromInputStream("./" + inputFilename);
+		} 
+    catch (IOException e1) {
+		e1.printStackTrace();
+		return;
+		}
+    
+    System.out.printf("Debug: %s: sending query to WordformServices...\n",  func);
+    
+	newQuery = WordformServices.doPOST_handleWordformQueries(query) ;
+		
+    System.out.printf("Debug: %s: receiving rewritten query from WordformServices...\n",  func);
+    
+    Utils.writeToOutputStream("./" + outputFilename, newQuery);
+
+	} // simulateWordformServices
+	
+	
+	/* simulateGlemmServicesClient
+	 * 
+	 * 14.04.20/FB
+	 * 
+	 */
+	
+	static int simulateGlemmServicesConnect(TraversedPath tPath)
+	
+	{
+	final String func = "simulateGlemmServicesConnect";
+	GlemmClient
+		glemmClient = new GlemmClient();
+	
+	glemmClient.GlemmConnect();
+	System.out.printf("Debug: %s: done.\n",  func);
+	
+	return 0;
+	} // simulateGlemmServicesClient
+	
+	/* simulateGlemmServices
+	 * 
+	 * input: list of lemmata
+	 * output: list of lemmata (same order) with references to expansion lists.
+	 * 07.04.20/FB
+	 */
+	
+	static void simulateGlemmServices(TraversedPath tPath)
+	
+	{
+		for(int i=0; i<tPath.getLemmaCount(); i++)
+			{
+			tPath.setRef("ref-" + tPath.getLemma(i) + ":" + i);
+			}
+	
+	System.out.printf("tPath.refs: #=%d list='%s'.\n", tPath.getRefsCount(), tPath.getRefsasString());
+		
+	} // simulateGlemmServices
+	
+	/* simulateGlemmServicesWfs
+	 * 
+	 * input: list of lemmata
+	 * output: list of expansion lists (= wordforms), same order.
+	 * 08.04.20/FB
+	 */
+	
+	static void simulateGlemmServicesWfs(TraversedPath tPath)
+	
+	{
+		for(int i=0; i<tPath.getLemmaCount(); i++)
+			{
+			List<String>
+				expList = new ArrayList(i+1);
+			
+			for(int j=0; j<i+1; j++)
+				{
+				expList.add(tPath.getLemma(i) + j);
+				}
+			
+			tPath.addExpList(expList); 
+			}
+	
+	System.out.printf("Debug: simulatedGlemmServicesWfs: %d expansion lists added.\n", tPath.getLemmaCount());
+		
+	} // simulateGlemmServicesWfs
+	
+		
+} // TestJson
\ No newline at end of file
diff --git a/Utils/.classpath b/Utils/.classpath
new file mode 100644
index 0000000..1ff5a38
--- /dev/null
+++ b/Utils/.classpath
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v9.0">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.utility"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_231">
+		<attributes>
+			<attribute name="owner.project.facets" value="java"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/Utils/.project b/Utils/.project
new file mode 100644
index 0000000..2a33a7e
--- /dev/null
+++ b/Utils/.project
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Utils</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+	</natures>
+</projectDescription>
diff --git a/Utils/.settings/org.eclipse.jdt.core.prefs b/Utils/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..4e4a3ad
--- /dev/null
+++ b/Utils/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Utils/.settings/org.eclipse.m2e.core.prefs b/Utils/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/Utils/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/Utils/.settings/org.eclipse.wst.common.component b/Utils/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..6bd211b
--- /dev/null
+++ b/Utils/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="Utils">
+        <wb-resource deploy-path="/" source-path="/src"/>
+    </wb-module>
+</project-modules>
diff --git a/Utils/.settings/org.eclipse.wst.common.project.facet.core.xml b/Utils/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..3eca3e1
--- /dev/null
+++ b/Utils/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="Apache Tomcat v9.0"/>
+  <installed facet="java" version="1.8"/>
+  <installed facet="jst.utility" version="1.0"/>
+</faceted-project>
diff --git a/Utils/.settings/org.eclipse.wst.validation.prefs b/Utils/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/Utils/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/Utils/pom.xml b/Utils/pom.xml
new file mode 100644
index 0000000..0fd46d3
--- /dev/null
+++ b/Utils/pom.xml
@@ -0,0 +1,31 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>utils</artifactId>
+  <version>0.1-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>utils</name>
+  <description>Utilitys for the KorAp Services.</description>
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
+  <dependencies>
+    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.6</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file
diff --git a/Utils/src/de/korap/services/utils/Utils.java b/Utils/src/de/korap/services/utils/Utils.java
new file mode 100644
index 0000000..9585864
--- /dev/null
+++ b/Utils/src/de/korap/services/utils/Utils.java
@@ -0,0 +1,276 @@
+package de.korap.services.utils;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Locale;
+
+import java.util.Properties;
+import java.util.Set;
+import java.util.Map.Entry;
+
+import org.apache.commons.io.FileUtils;
+
+
+public final class Utils
+{
+	
+	/*
+	 * set Err and Out Streams.
+	 * 
+	 * 12.12.19/FB
+	 * The PrintWriter class should be used in situations that require writing characters rather than bytes.
+	 * 05.10.21/FB
+	 */
+	
+	public static void setStdFileStreams(String fnameErr, String fnameOut)
+	
+	{
+	FileOutputStream
+		fosOut, fosErr;
+
+	try { // open in append mode:
+		fosErr = new FileOutputStream(fnameErr, true);
+		System.setErr(new PrintStream(fosErr));
+		fosOut = new FileOutputStream(fnameOut, true);
+		System.setOut(new PrintStream(fosOut));
+		} 
+	catch (FileNotFoundException e) {
+		e.printStackTrace();
+		}
+	
+	} // setStdFileStreams
+	
+	/*
+	 * setLogStream:
+	 * 
+	 * - open a PrintStream for fname.
+	 * 
+	 * 25.10.21/FB
+	 */
+	
+	public static PrintStream setLogStream(String fname)
+	
+	{
+	PrintStream
+		f = null;
+	
+	try {
+		f = new PrintStream(new FileOutputStream(fname, true));
+		} 
+	catch (FileNotFoundException e) {
+		e.printStackTrace();
+		f = System.out;
+		f.printf("Error: setLogStream: cannot create PrintStream for '%s'!\n", fname);
+		}
+	
+	return f;
+	} // setLogStream
+
+	/*
+	 * executeShellScript.
+	 * 12.12.19/FB
+	 */
+	public static int executeShellScript(String fnameScript, String arg, final PrintStream fout, final PrintStream ferr)
+	
+	{
+	final String 
+		func = "executeShellScript";
+	ProcessBuilder 	
+		builder;
+    Process 
+    	process = null;
+    int 
+    	status;
+    
+    fout.printf("Debug: %s: script name = '%s'...\n", func, fnameScript);
+	fout.printf("Debug: %s: script arg  = '%s'...\n", func, arg);
+		
+	if (!new File(fnameScript).canExecute()) {
+        System.err.printf("GlemmUtils.executeShellScript: cannot find shell script '%s'!\n", fnameScript);
+        return 1;
+	}
+	
+	builder = new ProcessBuilder(fnameScript, arg);
+    process = null;
+    
+    try {
+        process = builder.start();
+        status = process.waitFor();
+        
+        fout.println("Debug: script executed successfully.\n");
+
+        //InputStream is = process.getInputStream();
+        //InputStreamReader isr = new InputStreamReader(is);
+        //BufferedReader br = new BufferedReader(isr);
+        //String line;
+        //while ((line = br.readLine()) != null) {
+        //    System.out.println(line);
+        //}
+    	}
+    catch (IOException e) {
+    	ferr.printf("Error: executeShellScript: '%s' failed due to IOException!\n", fnameScript); 
+    	e.printStackTrace();
+    	return 1;
+    }
+    catch (InterruptedException e) {
+    	ferr.printf("Error: executeShellScript: '%s' failed due to Interrupt!\n", fnameScript); 
+    	e.printStackTrace();
+    	return 1;
+    }
+        
+	// OK
+	return 0;
+		
+	}
+
+	/*
+	 * readFromInputStream:
+	 * 
+	 * - reads full content of a file into a string and return that string.
+	 * - only apply on small files.
+	 * 
+	 * 27.04.20/FB
+	 */
+	
+	public static String readFromInputStream(String filename)
+			  throws IOException 
+	
+	{
+    byte[]
+    	encoded;
+    
+    encoded = Files.readAllBytes(Paths.get(filename));
+    return new String(encoded);
+    
+	/* alternative:  
+    try (BufferedReader br = new BufferedReader(new InputStreamReader(ins))) 
+    	{
+        String line;
+        while ((line = br.readLine()) != null) 
+        	{
+            resultStringBuilder.append(line).append("\n");
+        	}
+    	}
+    return resultStringBuilder.toString();
+    */
+	
+	} // readFromInputStream
+
+	/*
+	 * writeToOutputStream:
+	 * - writes a String to file.
+	 * 27.04.10/FB
+	 */
+	
+	public static void writeToOutputStream(String filename, String s, final PrintStream fout)
+	
+	{
+	final String func = "writeToOutputStream";
+	File
+		file = new File(filename);
+	
+	try {
+		FileUtils.writeStringToFile(file, s, (String)null, false);
+		} 
+	catch (IOException e) {
+		fout.printf("Error: %s: cannot write to file '%s'!\n", func, filename);
+		e.printStackTrace();
+		}
+	
+	} // writeToOutputStream
+	
+	/*
+	 * loadProperties
+	 * 
+	 * - load properties using InputStream is.
+	 * - InputStream must be opened by calling Services using their Servlet Context.
+	 * - name used to open InputStream is fnameProps (used here only for logging).
+	 * - realPath only available if fnamesProps was found (used here only for logging).
+	 * - bPrint: if true: log properties found.
+	 * Returns:
+	 * - set of loaded properties. May the null if fnameProps were not found.
+	 * 15.10.21/FB
+	 * Notes:
+	 * - as long as the properties are loading, we don't know where to redirect
+	 *   System.out/err, so we have to write to System.out/err.
+	 * 27.10.21/FB
+	 */
+	
+	public static Properties loadProperties(InputStream is, String fnameProps, String realPath, boolean bPrint)
+	
+	{
+	final String
+		func = "Utils.loadProperties";
+	Properties
+		props = new Properties();
+	
+	/* does not find the properties file:
+	 * inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+	 * inProp = HttpServletRequest.class.getResourceAsStream(propName);
+	 */
+	
+	if( is == null )
+		{
+		System.err.printf("Error: %s: cannot load '%s' (realPath='%s')!\n", func, fnameProps, realPath);
+		return props; // return empty list of props.
+		}
+	
+	try {
+		props.load(is);
+		Set<Entry<Object,Object>>
+			propsSet = props.entrySet();
+		
+		for(Entry<Object, Object> propEntry : propsSet)
+			{
+			if( bPrint )
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+			}
+		} 
+	catch (IOException e) {
+		System.err.printf("Error: %s: cannot load props from '%s'!",  func, fnameProps);
+		e.printStackTrace();
+		}
+
+	return props;	
+	} // loadProperties
+	
+	/*
+	 * getConstantFromProperties
+	 * 
+	 * if key prop is found in props, return val found.
+	 * else return default value propDefault.
+	 * 
+	 * 15.10.21/FB
+	 * Notes:
+	 * - if loging is reactivated here, do not use System.out/err as they are set JVM-wide.
+	 */
+	
+	public static String getConstantFromProperties(Properties props, String prop, String propDefault)
+	
+	{
+	final String
+		func = "init_ConstantFromProperties";
+	String
+		val = (String)props.getProperty(prop);
+	
+	if( val != null )
+		{
+		//System.out.printf("Debug: %s: %s = '%s' (from properties).\n",  func, prop, val);
+		return val;
+		}	
+	else
+		{
+		//System.err.printf("Error: %s: set constant %s = '%s' (from default)!\n", func, prop, propDefault);
+		return propDefault;
+		}
+	
+	} // init_ConstantFromProperties
+	
+
+}
\ No newline at end of file
diff --git a/WformServiceJar/.classpath b/WformServiceJar/.classpath
new file mode 100644
index 0000000..eb03ed1
--- /dev/null
+++ b/WformServiceJar/.classpath
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src-WformServices"/>
+	<classpathentry kind="src" path="src-JsonTraverse"/>
+	<classpathentry kind="src" path="src-GlemmServices"/>
+	<classpathentry kind="src" path="src-GlemmClient"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="/Utils/target/Utils-0.1-SNAPSHOT.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/Utils"/>
+	<classpathentry kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/WformServiceJar/.project b/WformServiceJar/.project
new file mode 100644
index 0000000..a69731a
--- /dev/null
+++ b/WformServiceJar/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>wformServiceJar</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>src-GlemmClient</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services/GlemmClient/src</location>
+		</link>
+		<link>
+			<name>src-GlemmServices</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services/GlemmServices/src</location>
+		</link>
+		<link>
+			<name>src-JsonTraverse</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services/JsonTraverse/src</location>
+		</link>
+		<link>
+			<name>src-WformServices</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services/WformServices/src</location>
+		</link>
+	</linkedResources>
+</projectDescription>
diff --git a/WformServiceJar/.settings/org.eclipse.jdt.core.prefs b/WformServiceJar/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b8947ec
--- /dev/null
+++ b/WformServiceJar/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/WformServiceJar/.settings/org.eclipse.m2e.core.prefs b/WformServiceJar/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/WformServiceJar/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/WformServiceJar/pom.xml b/WformServiceJar/pom.xml
new file mode 100644
index 0000000..011ff82
--- /dev/null
+++ b/WformServiceJar/pom.xml
@@ -0,0 +1,53 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>wformServiceJar</artifactId>
+  <version>0.1-SNAPSHOT</version>
+  <name>WformServices-Jar</name>
+  <description>JAR for WformServices Sources</description>
+  
+ <dependencies>
+    <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+   <dependency>
+     <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/WformServices/.classpath b/WformServices/.classpath
new file mode 100644
index 0000000..ec33d97
--- /dev/null
+++ b/WformServices/.classpath
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="json"/>
+	<classpathentry kind="src" path="services"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v9.0">
+		<attributes>
+			<attribute name="owner.project.facets" value="jst.web"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/JsonTraverse"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/GlemmClient"/>
+	<classpathentry kind="lib" path="C:/Users/Franck/.m2/repository/de/korap/json/JsonTraverse/0.1-SNAPSHOT/JsonTraverse-0.1-SNAPSHOT.jar"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/utils"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/WformServices/.project b/WformServices/.project
new file mode 100644
index 0000000..856db24
--- /dev/null
+++ b/WformServices/.project
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>wformServices</name>
+	<comment></comment>
+	<projects>
+		<project>utils</project>
+		<project>JsonTraverse</project>
+		<project>GlemmClient</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.common.project.facet.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>json</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services-branch-0.1/JsonTraverse/src/de/korap/json</location>
+		</link>
+		<link>
+			<name>services</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services-branch-0.1/GlemmServices/src/de/korap/services</location>
+		</link>
+		<link>
+			<name>src-GlemmServices</name>
+			<type>2</type>
+			<location>C:/myIDS/Daten/KorAP/Services/GlemmServices/src</location>
+		</link>
+	</linkedResources>
+</projectDescription>
diff --git a/WformServices/.settings/.jsdtscope b/WformServices/.settings/.jsdtscope
new file mode 100644
index 0000000..92e666d
--- /dev/null
+++ b/WformServices/.settings/.jsdtscope
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="WebContent"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+		<attributes>
+			<attribute name="hide" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+	<classpathentry kind="output" path=""/>
+</classpath>
diff --git a/WformServices/.settings/org.eclipse.jdt.core.prefs b/WformServices/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..4e4a3ad
--- /dev/null
+++ b/WformServices/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/WformServices/.settings/org.eclipse.m2e.core.prefs b/WformServices/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/WformServices/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/WformServices/.settings/org.eclipse.wst.common.component b/WformServices/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..a48f70e
--- /dev/null
+++ b/WformServices/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+    <wb-module deploy-name="wformServices-0.1-SNAPSHOT">
+        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
+        <wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/services"/>
+        <wb-resource deploy-path="/WEB-INF/classes" source-path="/json"/>
+        <dependent-module archiveName="utils-0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/utils/utils">
+            <dependency-type>uses</dependency-type>
+        </dependent-module>
+        <dependent-module archiveName="JsonTraverse-0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/JsonTraverse/JsonTraverse">
+            <dependency-type>uses</dependency-type>
+        </dependent-module>
+        <dependent-module archiveName="GlemmClient-0.2-Test.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/GlemmClient/GlemmClient">
+            <dependency-type>uses</dependency-type>
+        </dependent-module>
+        <property name="java-output-path" value="/wformServices/build/classes"/>
+        <property name="context-root" value="wformServices"/>
+    </wb-module>
+</project-modules>
diff --git a/WformServices/.settings/org.eclipse.wst.common.project.facet.core.xml b/WformServices/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..24124f7
--- /dev/null
+++ b/WformServices/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+  <runtime name="Apache Tomcat v9.0"/>
+  <fixed facet="jst.web"/>
+  <fixed facet="wst.jsdt.web"/>
+  <fixed facet="java"/>
+  <installed facet="java" version="1.8"/>
+  <installed facet="jst.web" version="4.0"/>
+  <installed facet="wst.jsdt.web" version="1.0"/>
+</faceted-project>
diff --git a/WformServices/.settings/org.eclipse.wst.jsdt.ui.superType.container b/WformServices/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/WformServices/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/WformServices/.settings/org.eclipse.wst.jsdt.ui.superType.name b/WformServices/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/WformServices/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/WformServices/.settings/org.eclipse.wst.validation.prefs b/WformServices/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/WformServices/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/WformServices/WebContent/META-INF/MANIFEST.MF b/WformServices/WebContent/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/WformServices/WebContent/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+
diff --git a/WformServices/WebContent/WEB-INF/WformServices.properties b/WformServices/WebContent/WEB-INF/WformServices.properties
new file mode 100644
index 0000000..8df4067
--- /dev/null
+++ b/WformServices/WebContent/WEB-INF/WformServices.properties
@@ -0,0 +1,22 @@
+# WordformServices properties:
+# expected in /WEB-INF/.
+
+## General properties:
+GS_WorkingPath = /home/bodmer/KorAP/GlemmServices/work-live
+
+## Loging:
+
+# fnameOut = GS_WorkingPath + "/WformmServices.log";
+#fnameOut = WformServices-t.log
+fnameOut = WformServices.log
+# fnameErr = GS_WorkingPath + "/WformServices.err";
+#fnameErr = WformServices-t.err
+fnameErr = WformServices.err
+
+## Communicating with the GlemmServices
+URLGlemmServer		= http://c0r4ft
+GlemmPort			= 40913
+#URLGlemmServices	= GlemmServices-0.2-Test
+URLGlemmServices	= GlemmServices
+LemmaRequestPath	= index/info/lemma
+	
\ No newline at end of file
diff --git a/WformServices/WebContent/WEB-INF/plugin.html b/WformServices/WebContent/WEB-INF/plugin.html
new file mode 100644
index 0000000..9936067
--- /dev/null
+++ b/WformServices/WebContent/WEB-INF/plugin.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+ <head>
+  <title>Wordform Services (including Glemm Services)</title>
+  <!-- load client javascript library -->
+  <!--  live-version: script src="https://korap.ids-mannheim.de/js/korap-plugin-0.2.js"
+          data-server="https://korap.ids-mannheim.de/"></script -->
+  <!--  Testversion: -->
+  <script src="https://korap.ids-mannheim.de/instance/test/js/korap-plugin-0.2.js"
+          data-server="https://korap.ids-mannheim.de/instance/test"></script>
+ </head>
+ <body>
+  <script>
+       let data = {
+         'action' : 'pipe',
+         <!-- KoralQuery mit POST Request an diesen service schicken; dahinter steht der Wordform Service, dahinter der Glemm Service. -->
+         <!-- ohne proxy: 'service' : 'http://c0r4ft.ids-mannheim.de:40913/wformServices-0.1-SNAPSHOT/wformServices/query' -->
+         <!-- mit proxy : 'service' : 'https://korap.ids-mannheim.de/proxy/c0r4ft/wformServices-0.1-SNAPSHOT/wformServices/query' -->
+         <!-- ab Version 0.2 der WformServices enthält die URL zu den Services keine Versionsnummer mehr: -->
+         'service' : 'https://korap.ids-mannheim.de/proxy/c0r4ft/wformServices/wformServices/query'
+       };
+
+       function pluginit (p) {
+         p.onMessage = function(msg) {
+           if (msg.key == 'glemm') {
+             if (msg.value) {
+               data['job'] = 'add';
+             }
+             else {
+               data['job'] = 'del';
+             };
+             KorAPlugin.sendMsg(data);
+           };
+         };
+       };
+     </script>
+   </body>
+</html> 
\ No newline at end of file
diff --git a/WformServices/WebContent/WEB-INF/web.xml b/WformServices/WebContent/WEB-INF/web.xml
new file mode 100644
index 0000000..1b3ae97
--- /dev/null
+++ b/WformServices/WebContent/WEB-INF/web.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- kopiert aus https://blog.dejavu.sk/registering-resources-and-providers-in-jersey-2/ , 09.12.19/FB -->
+
+<web-app version="2.5"
+        xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+    <servlet>
+        <servlet-name>WordformServices mit Jersey REST</servlet-name>
+        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
+
+        <!-- Register JAX-RS Application, if needed. -->
+        <!-- init-param>
+            <param-name>javax.ws.rs.Application</param-name>
+            <param-value>my.package.MyApplication</param-value>
+        </init-param -->
+
+        <!-- Register resources and providers under my.package. -->
+        <init-param>
+            <param-name>jersey.config.server.provider.packages</param-name>
+            <param-value>de.korap.services</param-value>
+        </init-param>
+
+        <!-- Register my custom provider (not needed if it's in my.package) AND LoggingFilter. -->
+        <init-param>
+            <param-name>jersey.config.server.provider.classnames</param-name>
+            <param-value>de.korap.services</param-value>
+        </init-param>
+
+        <!-- Enable Tracing support. -->
+        <init-param>
+            <param-name>jersey.config.server.tracing</param-name>
+            <param-value>ALL</param-value>
+        </init-param>
+
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>WordformServices mit Jersey REST</servlet-name>
+        <url-pattern>/*</url-pattern>
+    </servlet-mapping>
+</web-app>
\ No newline at end of file
diff --git a/WformServices/pom.xml b/WformServices/pom.xml
new file mode 100644
index 0000000..b3eb297
--- /dev/null
+++ b/WformServices/pom.xml
@@ -0,0 +1,83 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>wformServices</artifactId>
+  <!-- version>0.2-Test</version-->
+  <version>0.2-live</version>
+  <name>wformServices</name>
+  <description>Wordform Services for Rewriting Wordform Queries and Handling Wordform Lists.</description>
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
+    <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+	   <version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services.glemm.client</groupId>
+		<artifactId>GlemmClient</artifactId>
+		<version>0.2-Test</version>
+	</dependency>
+    </dependencies>
+  
+    <packaging>war</packaging>
+</project>
\ No newline at end of file
diff --git a/WformServices/src/de/korap/services/WordformRewrite.java b/WformServices/src/de/korap/services/WordformRewrite.java
new file mode 100644
index 0000000..b575f84
--- /dev/null
+++ b/WformServices/src/de/korap/services/WordformRewrite.java
@@ -0,0 +1,129 @@
+package de.korap.services;
+
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.Properties;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import de.korap.json.JsonTraverse;
+import de.korap.json.TraversedPath;
+import de.korap.services.glemm.client.GlemmClient;
+import de.korap.services.utils.Utils;
+import de.korap.services.LemmaResponse;
+
+public class WordformRewrite {
+
+
+	/* 
+	 * traverse_and_rewrite_KoralQuery:
+	 * Parameters:
+	 * query     : JSON KoralQuery.
+	 * props	 : wformServices.properties.
+	 * 
+	 * Notes:
+	 * - 
+	 * Returns	: 0 = rewrite done. 1 = no rewrite needed. > 1: error!
+	 * - rewriten new Query if rewritten done.
+	 * - null + no exception: no rewriting needed.
+	 * - null + exception   : error.
+	 * 04.03.20/FB 27.04.20/FB 
+	 */
+		 
+	public static String traverse_and_rewrite_KoralQuery(
+			String 		query, 
+			Properties 	props, 
+			PrintStream	fout,
+			PrintStream ferr )
+		
+					throws IOException
+	
+	{
+	final String
+		func = "traverse_and_rewrite_KoralQuery";
+	ObjectMapper
+		objMapper = null;
+	JsonNode
+		jsonNode = null;
+	TraversedPath
+		tPath 	= null;
+	LemmaResponse
+		lemResp	= null;
+	final boolean
+		bDebug = true;
+	int
+		mode = JsonTraverse.REWRITE_EXP; // rewrite lemma query by expansion list.
+	
+	fout.printf("Debug: %s: ready for traversing query...\n", func);
+	
+	objMapper = new ObjectMapper();
+	
+	// get full query as a JsonNode tree:
+	try {
+		jsonNode = objMapper.readTree(query);
+		
+		// traverse query and collect lemma subqueries in a TraversedPath object:
+		tPath = new TraversedPath(objMapper);
+		JsonTraverse.traverseJsonTree(jsonNode, tPath, JsonTraverse.COLLECT, fout, ferr);
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		throw e;
+		}
+	
+	fout.printf("Debug: %s: query traversed.\n", func);
+	
+	// Exit if no lemma subqueries found:
+	if( tPath == null || tPath.getLemmaCount() == 0 )
+		{
+		fout.printf("Info: %s: no lemma subquery found -> no rewrite needed.\n", func);
+		return null; // no rewrite.
+		}
+
+	/* - - - Call GlemmServices to resolve lemma-Subqueries - - - 
+	 * 
+	 * This returns for each lemma a reference to a list of wordform instantiations
+	 * (= instantiation list).
+	 */ 
+	
+	GlemmClient
+		glemmClient = new GlemmClient(props, fout, ferr);
+	
+	for(int i=0; i<tPath.getLemmaCount(); i++)
+		{
+		lemResp = glemmClient.sendQuery(tPath.getLemma(i));
+		tPath.addLemmaResponse(lemResp);
+		
+		fout.printf("Debug: %s: lemma='%s': %d wfs found: %s.\n", func, 
+				tPath.getLemma(i),
+				lemResp.head_nWfs,
+				lemResp.printPartialList());
+		}
+
+	// TODO glemmClient.close ?
+	
+	/*
+	 *  - - - Rewriting KoralQuery with lists of wordforms:
+	 *  
+	 * - Rewrite KoralQuery: use either JsonTraverse.REWRITE or .REWRITE_EXP:
+	 * - REWRITE_EXP = rewrite with expansion lists.
+	 */
+	
+	JsonTraverse.traverseJsonTree(jsonNode, tPath, JsonTraverse.REWRITE_EXP, fout, ferr); 
+	
+	// OK: return newQuery formated in pretty json:
+	fout.printf("Debug: %s: returning OK with jsonNode as a String.\n", func);
+	
+	return objMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode);
+		
+	//System.out.printf("Debug: %s: returning OK and null String.\n", func);
+	
+	//return null; // OK
+
+	} // traverse_and_rewrite_KoralQuery
+
+
+
+} // class WordformRewrite
+
diff --git a/WformServices/src/de/korap/services/WordformServices.java b/WformServices/src/de/korap/services/WordformServices.java
new file mode 100644
index 0000000..0a26350
--- /dev/null
+++ b/WformServices/src/de/korap/services/WordformServices.java
@@ -0,0 +1,284 @@
+package de.korap.services;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.nio.charset.Charset;
+import java.time.LocalDateTime;
+import java.util.Locale;
+import java.util.Properties;
+
+import de.korap.services.WordformRewrite;
+import de.korap.services.utils.Utils;
+
+
+/*
+ * v-0.1: 29.06.20/FB: 1st version.
+ * v-0.1: 28.10.21/FB: 
+ * 		- writes request time to log;
+ *		- resets fnameOut/Err after call to GlemmServices. 
+ * Notes:
+ * - When submitting a KoralQuery [UTF-8] to the WformServices (if redirected
+ *   to the GlemmServices, only chars that may be translated to ISO8859-1 (=Lat1)
+ *   will be processed correctly. Glemm behind the scene can only treat
+ *   German words, so this restriction is OK.
+ */
+
+@Path("/wformServices")
+
+public class WordformServices {
+	
+	final private static String versionDate			= "28.10.21";
+	final private static String version     		= "0.2";
+	final private String 		fnameProps			= "/WEB-INF/WformServices.properties";
+	      private static String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests"; // linux
+	      private static String fnameOut 			= GS_WorkingPath + "/wformServices-t.log";
+	      private static String fnameErr	 		= GS_WorkingPath + "/wformServices-t.err";
+	final private static String filename_pluginHTML	= "WEB-INF/plugin.html";
+
+	@Context 
+	private ServletContext servletContext;
+	
+	Properties
+		props = null; // properties in WEB-INF/WformServices.properties
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "WformServices-t.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "WformServices-t.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	
+	} // set_ConstantsFromProperties
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 *    
+	 * 19.10.21/FB
+	 */
+	
+	private void init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+
+	// load GlemmServices properties and log them (if last param = true):
+	props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// Set Standard File output streams for GlemmServices:
+	// Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	log_Request(requestPath, func);
+
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * GET: /wformServices/status/
+	 * 
+	 * returns status of Wordform Services in HTML.
+	 * 
+	 * Parameters:
+	 *  -
+	 * Notes:
+	 * - 
+	 * 12.06.20/FB 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status()
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+
+	init_and_log_Request(func, "/wformServices/status/");
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Wordform Services</h3>\n" +
+						   	" <p><b>Version</b>     : %s</p>" +
+							" <p><b>Date   </b>     : %s</p>" +
+							" <p><b>status</b>      : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T", " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded");
+
+	fout.printf("Debug: %s: done.\n", func);
+
+	return status;
+		
+	} // doGET_status
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * GET: /wformServices/plugin.html
+	 * 
+	 * returns plugin.html file for registration in Kalamar.
+	 * 
+	 * Parameters:
+	 *  -
+	 * Notes:
+	 * - 
+	 * 29.06.20/FB 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+	@Path("plugin.html")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_pluginHTML(@Context ServletContext servletContext)
+	
+	{
+	final String func = "doGET_pluginHTML";
+	String
+		pluginHTML;
+	String
+		webAppRoot;
+
+	init_and_log_Request(func, "/wformServices/plugin.html");
+	
+	webAppRoot = servletContext.getRealPath("/");
+	
+	fout.printf("Debug: %s: Root Path of webApp = '%s'.\n",  func, webAppRoot);
+	fout.printf("Debug: %s: loading = '%s'.\n",  func, webAppRoot + filename_pluginHTML);
+	
+	try {
+		pluginHTML = Utils.readFromInputStream(webAppRoot + filename_pluginHTML);
+		fout.printf("Debug: %s: loading plugin.html: OK'.\n",  func);
+		fout.printf("Debug: %s: plugin.html = '%s'.\n",  func, pluginHTML);
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		pluginHTML = String.format("<html>\n<body><h3>wformServices Error: cannot load plugin.html!</h3></body></html>\n");
+		fout.printf("Debug: %s: loading plugin.html: failed!\n",  func);
+		}
+	
+	fout.printf("Debug: %s: done.\n", func);
+	return pluginHTML;
+		
+	} // doGET_pluginHTML
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * POST: /wformServices/query/: application/json.
+	 * submits a Koral Query which might contain 1 or more lemma subqueries [UTF-8].
+	 * Each subquery is searched in the Glemm DB and the resulting wordform list rewrites
+	 * the original subquery.
+	 * Parameters:
+	 *  query    : content of POST body: full KoralQuery in Json.
+	 * Notes:
+	 * - HTTP POST Body can be read once only. Probably Jersey reads it once and
+	 *   passes it to the POST method, i.e. String query.
+	 * - if we try to read the POST Body by either HttpServletRequest.getReader()
+	 *   or HttpServletRequest.getInputStream(), we get an exception, as this 
+	 *   would be the 2nd access to the body data.
+	 * 17.02.20/FB 
+	 * 20.02.20/FB Body Data access by parameter query.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	@Path("query") 
+	@POST 
+	@Consumes("application/json") 
+	@Produces("application/json")
+	 
+	public String doPOST_handleWordformQueries(String query) 
+	 
+	{
+	final String
+		func = "doPOST_handleWordformQueries";
+	String
+		newQuery = "";
+	
+	init_and_log_Request(func, "/wformServices/query/");
+	
+	try	{
+		newQuery = WordformRewrite.traverse_and_rewrite_KoralQuery(query, props, fout, ferr);
+		if( newQuery == null )
+			{
+			fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+			fout.printf("Debug: %s: nothing to rewrite.\n", func);
+			return query; // nothing to rewrite, return original query.
+			}
+		}
+	catch( Exception e)
+		{
+		e.printStackTrace();
+		fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+		fout.printf("Debug: %s: Exception occured: returning unrewritten query!\n", func);
+		return query; // error occured, but returning original, unrewritten query.
+		}
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("Debug: %s: returning rewritten query: size=%d chars.\n", func, newQuery.length());
+	
+	return newQuery;
+	
+	} // doPOST_handleWordformQueries
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.bak_0.log b/wsp-KorAP-Services/.metadata/.bak_0.log
new file mode 100644
index 0000000..a0f8a09
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.bak_0.log
@@ -0,0 +1,11596 @@
+!SESSION 2021-09-28 09:07:18.157 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product -data C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services -product org.eclipse.epp.package.java.product
+
+This is a continuation of log file C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services\.metadata\.bak_0.log
+Created Time: 2021-09-28 09:07:28.909
+
+!ENTRY org.eclipse.egit.core 2 0 2021-09-28 09:07:28.917
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-09-28 09:07:59.360
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-09-28 09:08:02.104
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-09-28 09:08:13.759
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.core.resources 4 567 2021-09-28 09:09:54.288
+!MESSAGE The project description file (.project) for 'GlemmClient' is missing.  This file contains important information about the project.  The project will not function properly until this file is restored.
+!STACK 0
+java.lang.Exception: The project description file (.project) for 'GlemmClient' is missing.  This file contains important information about the project.  The project will not function properly until this file is restored.
+	at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:39)
+	at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:35)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:903)
+	at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:886)
+	at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:757)
+	at org.eclipse.core.internal.resources.Project.open(Project.java:1061)
+	at org.eclipse.core.internal.resources.Project.open(Project.java:1107)
+	at org.eclipse.ui.actions.OpenResourceAction$1.doOpenWithReferences(OpenResourceAction.java:233)
+	at org.eclipse.ui.actions.OpenResourceAction$1.runInWorkspace(OpenResourceAction.java:279)
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-09-28 09:20:40.651 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -data C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-09-28 09:20:46.127
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-09-28 09:20:52.342
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-09-28 09:21:16.978
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-09-28 09:21:20.463
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-09-28 09:21:32.126
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.core.resources 4 567 2021-09-28 09:21:38.374
+!MESSAGE The project description file (.project) for 'GlemmClient' is missing.  This file contains important information about the project.  The project will not function properly until this file is restored.
+!STACK 0
+java.lang.Exception: The project description file (.project) for 'GlemmClient' is missing.  This file contains important information about the project.  The project will not function properly until this file is restored.
+	at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:39)
+	at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:35)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:903)
+	at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:886)
+	at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:757)
+	at org.eclipse.core.internal.resources.Project.open(Project.java:1061)
+	at org.eclipse.core.internal.resources.Project.open(Project.java:1107)
+	at org.eclipse.ui.actions.OpenResourceAction$1.doOpenWithReferences(OpenResourceAction.java:233)
+	at org.eclipse.ui.actions.OpenResourceAction$1.runInWorkspace(OpenResourceAction.java:279)
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-09-28 09:23:45.348
+!MESSAGE Could not download sources for de.korap.json:JsonTraverse:0.1-SNAPSHOT
+!STACK 1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.json:JsonTraverse:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Contains: Missing de.korap.json:JsonTraverse:jar:sources:0.1-SNAPSHOT
+!SUBENTRY 1 org.eclipse.m2e.core 4 -1 2021-09-28 09:23:45.351
+!MESSAGE Could not resolve artifact de.korap.json:JsonTraverse:jar:sources:0.1-SNAPSHOT
+!SUBENTRY 2 org.eclipse.m2e.core 4 -1 2021-09-28 09:23:45.351
+!MESSAGE Missing de.korap.json:JsonTraverse:jar:sources:0.1-SNAPSHOT
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-09-28 09:23:49.493
+!MESSAGE Could not download javadoc for de.korap.json:JsonTraverse:0.1-SNAPSHOT
+!STACK 1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.json:JsonTraverse:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Contains: Missing de.korap.json:JsonTraverse:jar:javadoc:0.1-SNAPSHOT
+!SUBENTRY 1 org.eclipse.m2e.core 4 -1 2021-09-28 09:23:49.493
+!MESSAGE Could not resolve artifact de.korap.json:JsonTraverse:jar:javadoc:0.1-SNAPSHOT
+!SUBENTRY 2 org.eclipse.m2e.core 4 -1 2021-09-28 09:23:49.493
+!MESSAGE Missing de.korap.json:JsonTraverse:jar:javadoc:0.1-SNAPSHOT
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-09-28 09:27:03.195
+!MESSAGE Unable to configure GlemmServices
+!STACK 0
+org.eclipse.m2e.wtp.MarkedException: Unable to configure GlemmServices
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99)
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68)
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:288)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:175)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:143)
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:68)
+	at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:73)
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:77)
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339)
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136)
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95)
+	... 20 more
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-09-28 09:46:16.651
+!MESSAGE Could not download sources for de.korap.services:wformServiceJar:0.1-SNAPSHOT
+!STACK 1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:wformServiceJar:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Contains: Missing de.korap.services:wformServiceJar:jar:sources:0.1-SNAPSHOT
+!SUBENTRY 1 org.eclipse.m2e.core 4 -1 2021-09-28 09:46:16.655
+!MESSAGE Could not resolve artifact de.korap.services:wformServiceJar:jar:sources:0.1-SNAPSHOT
+!SUBENTRY 2 org.eclipse.m2e.core 4 -1 2021-09-28 09:46:16.655
+!MESSAGE Missing de.korap.services:wformServiceJar:jar:sources:0.1-SNAPSHOT
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-09-28 09:46:16.679
+!MESSAGE Could not download javadoc for de.korap.services:wformServiceJar:0.1-SNAPSHOT
+!STACK 1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:wformServiceJar:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Contains: Missing de.korap.services:wformServiceJar:jar:javadoc:0.1-SNAPSHOT
+!SUBENTRY 1 org.eclipse.m2e.core 4 -1 2021-09-28 09:46:16.679
+!MESSAGE Could not resolve artifact de.korap.services:wformServiceJar:jar:javadoc:0.1-SNAPSHOT
+!SUBENTRY 2 org.eclipse.m2e.core 4 -1 2021-09-28 09:46:16.679
+!MESSAGE Missing de.korap.services:wformServiceJar:jar:javadoc:0.1-SNAPSHOT
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-09-28 09:47:25.371
+!MESSAGE Unable to configure wformServices
+!STACK 0
+org.eclipse.m2e.wtp.MarkedException: Unable to configure wformServices
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99)
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68)
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:288)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:175)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:143)
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:68)
+	at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:73)
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:77)
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339)
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136)
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95)
+	... 20 more
+!SESSION 2021-09-28 11:06:36.746 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-09-28 11:06:41.133
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-09-28 11:06:55.565
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-09-28 11:07:13.106
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-09-28 11:07:16.493
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-09-28 11:07:30.023
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-09-29 16:20:25.377 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-09-29 16:20:36.219
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-09-29 16:20:59.159
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-09-29 16:21:56.058
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-09-29 16:22:01.396
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-09-29 16:22:20.629
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-09-30 13:00:58.367 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-09-30 13:01:09.241
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-09-30 13:01:59.707
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-09-30 13:02:59.618
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-09-30 13:03:02.365
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-09-30 13:03:17.319
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 13:13:18.967
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-09-30 13:13:18.970
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:34.976
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:34.984
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:37.183
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:37.191
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:37.721
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:37.728
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:38.275
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.134
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.140
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.321
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.331
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.592
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.608
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.622
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.974
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-09-30 17:56:43.985
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+!SESSION 2021-10-05 09:48:42.482 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product -data C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-05 09:48:47.705
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-05 09:48:55.062
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-05 09:49:43.217
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-05 09:49:46.331
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-05 09:50:00.733
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-10-05 10:01:51.732 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-05 10:01:56.152
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-05 10:02:54.743
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-05 10:03:19.278
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-05 10:03:22.101
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-05 10:03:36.809
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 11:37:17.902
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-05 11:37:17.906
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:27:52.431
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:27:52.439
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:27:54.149
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:27:54.158
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:27:55.152
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:27:55.158
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:28:00.176
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:28:00.194
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:28:00.584
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-05 13:28:00.589
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+!SESSION 2021-10-05 22:36:36.982 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-05 22:36:56.449
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-05 22:37:25.449
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-05 22:38:17.860
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-05 22:38:24.483
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-05 22:38:39.690
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-10-06 12:47:28.540 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-06 12:47:33.564
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-06 12:47:46.604
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-06 12:48:24.884
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-06 12:48:27.075
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-06 12:48:40.517
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-06 19:44:23.912
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-06 19:44:23.916
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-07 10:18:13.295 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-07 10:18:24.013
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-07 10:18:44.149
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-07 10:19:35.023
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-07 10:19:40.244
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-07 10:19:51.989
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-07 18:00:50.177
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-07 18:00:50.182
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-08 11:59:01.268 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-08 11:59:12.484
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-08 11:59:33.939
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-08 12:00:31.582
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-08 12:00:36.646
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-08 12:00:52.398
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-08 17:23:21.022
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-08 17:23:21.026
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-11 09:38:32.196 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-11 09:38:44.178
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-11 09:39:04.336
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-11 09:40:05.361
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-11 09:40:11.167
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-11 09:40:26.416
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-11 17:06:08.557
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-11 17:06:08.565
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.ui 4 0 2021-10-14 00:14:14.959
+!MESSAGE Unhandled event loop exception
+!STACK 0
+java.lang.IllegalArgumentException: Argument not valid
+	at org.eclipse.swt.SWT.error(SWT.java:4533)
+	at org.eclipse.swt.SWT.error(SWT.java:4467)
+	at org.eclipse.swt.SWT.error(SWT.java:4438)
+	at org.eclipse.swt.graphics.GC.setForeground(GC.java:4369)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.drawBackground(CTabRendering.java:1075)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.drawUnselectedTabBackground(CTabRendering.java:1008)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.drawCustomBackground(CTabRendering.java:990)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.draw(CTabRendering.java:218)
+	at org.eclipse.swt.custom.CTabFolder.updateBkImages(CTabFolder.java:3885)
+	at org.eclipse.swt.custom.CTabFolder.setButtonBounds(CTabFolder.java:2619)
+	at org.eclipse.swt.custom.CTabFolder.updateItems(CTabFolder.java:3795)
+	at org.eclipse.swt.custom.CTabFolder.updateItems(CTabFolder.java:3726)
+	at org.eclipse.swt.custom.CTabFolder.onResize(CTabFolder.java:2118)
+	at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:335)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Control.sendResize(Control.java:3063)
+	at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:1033)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1083)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3228)
+	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3223)
+	at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:204)
+	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1359)
+	at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:1037)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1083)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3228)
+	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3223)
+	at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:204)
+	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1359)
+	at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:1037)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1083)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3228)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3304)
+	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3300)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.setRectangle(SashLayout.java:283)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.tileSubNodes(SashLayout.java:228)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.tileSubNodes(SashLayout.java:271)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.tileSubNodes(SashLayout.java:271)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.tileSubNodes(SashLayout.java:271)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.layout(SashLayout.java:145)
+	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1359)
+	at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:1037)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1083)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3228)
+	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3223)
+	at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:204)
+	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1359)
+	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1761)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4840)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:88)
+	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5664)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4853)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3271)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1077)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3228)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3304)
+	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3300)
+	at org.eclipse.swt.custom.StackLayout.layout(StackLayout.java:123)
+	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1359)
+	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1761)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4840)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:88)
+	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5664)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4853)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3271)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1077)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3228)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3304)
+	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3300)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.setRectangle(SashLayout.java:283)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.tileSubNodes(SashLayout.java:228)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.tileSubNodes(SashLayout.java:271)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SashLayout.layout(SashLayout.java:145)
+	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1359)
+	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1761)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4840)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:88)
+	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5664)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4853)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3271)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1077)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3228)
+	at org.eclipse.swt.widgets.Control.setBounds(Control.java:3223)
+	at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:204)
+	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1359)
+	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1761)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4840)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:88)
+	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5664)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4853)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method)
+	at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:1007)
+	at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:973)
+	at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:1185)
+	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1765)
+	at org.eclipse.swt.widgets.Canvas.WM_SIZE(Canvas.java:449)
+	at org.eclipse.swt.widgets.Decorations.WM_SIZE(Decorations.java:1665)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4840)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5664)
+	at org.eclipse.swt.widgets.Canvas.WM_WINDOWPOSCHANGED(Canvas.java:456)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4853)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.SetMenu(Native Method)
+	at org.eclipse.swt.widgets.Decorations.setMenuBar(Decorations.java:1056)
+	at org.eclipse.swt.widgets.Menu.releaseParent(Menu.java:940)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:817)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(SWTPartRenderer.java:173)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.ui.internal.WorkbenchWindow$1.handleEvent(WorkbenchWindow.java:329)
+	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:212)
+	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
+	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
+	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:196)
+	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
+	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
+	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
+	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
+	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:52)
+	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
+	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
+	at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setWidget(UIElementImpl.java:262)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.unbindWidget(SWTPartRenderer.java:148)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.lambda$0(SWTPartRenderer.java:137)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.swt.widgets.Display.release(Display.java:3585)
+	at org.eclipse.swt.graphics.Device.dispose(Device.java:297)
+	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3120)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2787)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3529)
+	at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
+	at org.eclipse.jface.window.Window.open(Window.java:794)
+	at org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor.promptOnExit(IDEWorkbenchWindowAdvisor.java:224)
+	at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor$1.handleEvent(IDEWorkbenchAdvisor.java:164)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4110)
+	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3133)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2787)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3529)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.ui 4 0 2021-10-14 00:14:15.988
+!MESSAGE Unhandled event loop exception
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.ui.internal.NavigationHistory.getDisplay(NavigationHistory.java:176)
+	at org.eclipse.ui.internal.NavigationHistory.markEditor(NavigationHistory.java:193)
+	at org.eclipse.ui.internal.WorkbenchPage.updateActiveEditorSources(WorkbenchPage.java:433)
+	at org.eclipse.ui.internal.WorkbenchPage.firePartClosed(WorkbenchPage.java:5256)
+	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.lambda$0(CompatibilityPart.java:106)
+	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:212)
+	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
+	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
+	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:196)
+	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
+	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
+	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
+	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
+	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:52)
+	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
+	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
+	at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setWidget(UIElementImpl.java:262)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.unbindWidget(SWTPartRenderer.java:148)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.lambda$0(SWTPartRenderer.java:137)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:728)
+	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1340)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.swt.widgets.Display.release(Display.java:3585)
+	at org.eclipse.swt.graphics.Device.dispose(Device.java:297)
+	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3120)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2787)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3529)
+	at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
+	at org.eclipse.jface.window.Window.open(Window.java:794)
+	at org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor.promptOnExit(IDEWorkbenchWindowAdvisor.java:224)
+	at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor$1.handleEvent(IDEWorkbenchAdvisor.java:164)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4110)
+	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3133)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2787)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3529)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.ui 4 0 2021-10-14 00:14:16.054
+!MESSAGE Unhandled event loop exception
+!STACK 0
+java.lang.IllegalArgumentException: Argument not valid
+	at org.eclipse.swt.SWT.error(SWT.java:4533)
+	at org.eclipse.swt.SWT.error(SWT.java:4467)
+	at org.eclipse.swt.SWT.error(SWT.java:4438)
+	at org.eclipse.swt.graphics.GC.setForeground(GC.java:4369)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.drawBackground(CTabRendering.java:1075)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.drawUnselectedTabBackground(CTabRendering.java:1008)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.drawCustomBackground(CTabRendering.java:990)
+	at org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering.draw(CTabRendering.java:218)
+	at org.eclipse.swt.custom.CTabFolder.updateBkImages(CTabFolder.java:3885)
+	at org.eclipse.swt.custom.CTabFolder.setButtonBounds(CTabFolder.java:2619)
+	at org.eclipse.swt.custom.CTabFolder.updateItems(CTabFolder.java:3795)
+	at org.eclipse.swt.custom.CTabFolder.updateItems(CTabFolder.java:3726)
+	at org.eclipse.swt.custom.CTabFolder.onResize(CTabFolder.java:2118)
+	at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:335)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:5432)
+	at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:359)
+	at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1750)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4840)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:88)
+	at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5664)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4853)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3271)
+	at org.eclipse.swt.widgets.Composite.setBoundsInPixels(Composite.java:1077)
+	at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3232)
+	at org.eclipse.swt.widgets.Control.setSizeInPixels(Control.java:3777)
+	at org.eclipse.swt.widgets.Control.setSize(Control.java:3807)
+	at org.eclipse.swt.widgets.Control.pack(Control.java:2209)
+	at org.eclipse.swt.widgets.Control.pack(Control.java:2179)
+	at org.eclipse.ui.internal.e4.compatibility.ActionBars.updateActionBars(ActionBars.java:81)
+	at org.eclipse.ui.part.PageBookView.showPageRec(PageBookView.java:958)
+	at org.eclipse.ui.views.contentoutline.ContentOutline.showPageRec(ContentOutline.java:238)
+	at org.eclipse.ui.part.PageBookView.partHidden(PageBookView.java:1090)
+	at org.eclipse.ui.part.PageBookView$1.partHidden(PageBookView.java:1048)
+	at org.eclipse.ui.internal.WorkbenchPage$29.run(WorkbenchPage.java:5409)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.WorkbenchPage.firePartHidden(WorkbenchPage.java:5406)
+	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.lambda$0(CompatibilityPart.java:105)
+	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:212)
+	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
+	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
+	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:196)
+	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
+	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
+	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
+	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
+	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:52)
+	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
+	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
+	at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setWidget(UIElementImpl.java:262)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.unbindWidget(SWTPartRenderer.java:148)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.lambda$0(SWTPartRenderer.java:137)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:728)
+	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1340)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.swt.widgets.Display.release(Display.java:3585)
+	at org.eclipse.swt.graphics.Device.dispose(Device.java:297)
+	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3120)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2787)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3529)
+	at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
+	at org.eclipse.jface.window.Window.open(Window.java:794)
+	at org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor.promptOnExit(IDEWorkbenchWindowAdvisor.java:224)
+	at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor$1.handleEvent(IDEWorkbenchAdvisor.java:164)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4110)
+	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3133)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2787)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3529)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+!SESSION 2021-10-14 08:48:06.245 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-14 08:48:16.965
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.core.resources 2 10035 2021-10-14 08:48:25.704
+!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-14 08:48:37.785
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-14 08:49:35.482
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-14 08:49:41.958
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-14 08:49:57.840
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-14 08:53:13.587
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-14 08:53:13.591
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-15 07:10:41.788 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-15 07:10:54.136
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-15 07:11:16.192
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-15 07:12:27.522
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-15 07:12:40.157
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-15 07:12:49.549
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-15 07:29:27.366
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-15 07:29:27.366
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.ui 4 0 2021-10-15 09:05:07.956
+!MESSAGE Unhandled event loop exception
+!STACK 0
+org.eclipse.swt.SWTException: Graphic is disposed
+	at org.eclipse.swt.SWT.error(SWT.java:4552)
+	at org.eclipse.swt.SWT.error(SWT.java:4467)
+	at org.eclipse.swt.SWT.error(SWT.java:4438)
+	at org.eclipse.swt.graphics.Image.getBounds(Image.java:1263)
+	at org.eclipse.swt.custom.CLabel.getTotalSize(CLabel.java:266)
+	at org.eclipse.swt.custom.CLabel.onPaint(CLabel.java:429)
+	at org.eclipse.swt.custom.CLabel.lambda$0(CLabel.java:119)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:231)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1561)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.VtblCall(Native Method)
+	at org.eclipse.swt.internal.ole.win32.IOleInPlaceObject.InPlaceDeactivate(IOleInPlaceObject.java:21)
+	at org.eclipse.swt.ole.win32.OleClientSite.deactivateInPlaceClient(OleClientSite.java:609)
+	at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:959)
+	at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:946)
+	at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:128)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:728)
+	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1340)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.jface.text.AbstractInformationControl.dispose(AbstractInformationControl.java:521)
+	at org.eclipse.jface.text.AbstractInformationControlManager.disposeInformationControl(AbstractInformationControlManager.java:1319)
+	at org.eclipse.jface.text.AbstractInformationControlManager.dispose(AbstractInformationControlManager.java:1334)
+	at org.eclipse.jface.text.AbstractHoverInformationControlManager.dispose(AbstractHoverInformationControlManager.java:929)
+	at org.eclipse.jface.text.TextViewerHoverManager.dispose(TextViewerHoverManager.java:378)
+	at org.eclipse.jface.text.TextViewer.handleDispose(TextViewer.java:1874)
+	at org.eclipse.jface.text.source.SourceViewer.handleDispose(SourceViewer.java:788)
+	at org.eclipse.jface.text.source.projection.ProjectionViewer.handleDispose(ProjectionViewer.java:1296)
+	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.handleDispose(JavaSourceViewer.java:509)
+	at org.eclipse.jface.text.TextViewer$2.widgetDisposed(TextViewer.java:1731)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:775)
+	at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5918)
+	at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5739)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(SWTPartRenderer.java:173)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.disposeWidget(ContributedPartRenderer.java:270)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.disposeWidget(ElementReferenceRenderer.java:112)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1994)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1610)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:1165)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1148)
+	at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1430)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1430)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1403)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1606)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1649)
+	at org.eclipse.ui.internal.WorkbenchWindow$6.close(WorkbenchWindow.java:531)
+	at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$4(WBWRenderer.java:612)
+	at org.eclipse.swt.events.ShellListener$2.shellClosed(ShellListener.java:99)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:99)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:281)
+	at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1571)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4767)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2303)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3532)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+!SESSION 2021-10-15 09:06:20.350 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-15 09:06:24.695
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-15 09:06:32.827
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-15 09:07:04.869
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-15 09:07:06.301
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-15 09:07:24.223
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-15 11:36:03.687
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-15 11:36:03.691
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-18 13:08:46.231 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-18 13:08:58.011
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-18 13:09:20.283
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-18 13:10:22.589
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-18 13:10:27.520
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-18 13:10:44.893
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 13:28:40.523
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-18 13:28:40.527
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 15:35:36.229
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 15:35:36.236
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 15:35:37.843
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 15:35:37.850
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 15:35:44.591
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 15:35:44.596
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 15:35:44.659
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+!SESSION 2021-10-18 16:51:43.094 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-18 16:51:47.446
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-18 16:52:06.229
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-18 16:52:30.743
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-18 16:52:33.303
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-18 16:52:45.598
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-18 16:55:29.610
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-18 16:55:29.613
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.ui 4 0 2021-10-19 18:11:06.232
+!MESSAGE Unhandled event loop exception
+!STACK 0
+org.eclipse.swt.SWTException: Graphic is disposed
+	at org.eclipse.swt.SWT.error(SWT.java:4552)
+	at org.eclipse.swt.SWT.error(SWT.java:4467)
+	at org.eclipse.swt.SWT.error(SWT.java:4438)
+	at org.eclipse.swt.graphics.Image.getBounds(Image.java:1263)
+	at org.eclipse.swt.custom.CLabel.getTotalSize(CLabel.java:266)
+	at org.eclipse.swt.custom.CLabel.onPaint(CLabel.java:429)
+	at org.eclipse.swt.custom.CLabel.lambda$0(CLabel.java:119)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:231)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1561)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.VtblCall(Native Method)
+	at org.eclipse.swt.internal.ole.win32.IOleInPlaceObject.InPlaceDeactivate(IOleInPlaceObject.java:21)
+	at org.eclipse.swt.ole.win32.OleClientSite.deactivateInPlaceClient(OleClientSite.java:609)
+	at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:959)
+	at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:946)
+	at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:128)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:728)
+	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1340)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.jface.text.AbstractInformationControl.dispose(AbstractInformationControl.java:521)
+	at org.eclipse.jface.text.AbstractInformationControlManager.disposeInformationControl(AbstractInformationControlManager.java:1319)
+	at org.eclipse.jface.text.AbstractInformationControlManager.dispose(AbstractInformationControlManager.java:1334)
+	at org.eclipse.jface.text.AbstractHoverInformationControlManager.dispose(AbstractHoverInformationControlManager.java:929)
+	at org.eclipse.jface.text.TextViewerHoverManager.dispose(TextViewerHoverManager.java:378)
+	at org.eclipse.jface.text.TextViewer.handleDispose(TextViewer.java:1874)
+	at org.eclipse.jface.text.source.SourceViewer.handleDispose(SourceViewer.java:788)
+	at org.eclipse.jface.text.source.projection.ProjectionViewer.handleDispose(ProjectionViewer.java:1296)
+	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.handleDispose(JavaSourceViewer.java:509)
+	at org.eclipse.jface.text.TextViewer$2.widgetDisposed(TextViewer.java:1731)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:775)
+	at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5918)
+	at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5739)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(SWTPartRenderer.java:173)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.disposeWidget(ContributedPartRenderer.java:270)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.disposeWidget(ElementReferenceRenderer.java:112)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1994)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1610)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:1165)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1148)
+	at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1430)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1430)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1403)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1606)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1649)
+	at org.eclipse.ui.internal.WorkbenchWindow$6.close(WorkbenchWindow.java:531)
+	at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$4(WBWRenderer.java:612)
+	at org.eclipse.swt.events.ShellListener$2.shellClosed(ShellListener.java:99)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:99)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:281)
+	at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1571)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4767)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2787)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3529)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+!SESSION 2021-10-20 11:22:07.399 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-20 11:22:19.179
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-20 11:22:41.351
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-20 11:23:42.807
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-20 11:23:48.977
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-20 11:24:05.966
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-20 12:11:12.428
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-20 12:11:12.431
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.ui 4 0 2021-10-22 11:04:49.417
+!MESSAGE Unhandled event loop exception
+!STACK 0
+org.eclipse.swt.SWTException: Graphic is disposed
+	at org.eclipse.swt.SWT.error(SWT.java:4552)
+	at org.eclipse.swt.SWT.error(SWT.java:4467)
+	at org.eclipse.swt.SWT.error(SWT.java:4438)
+	at org.eclipse.swt.graphics.Image.getBounds(Image.java:1263)
+	at org.eclipse.swt.custom.CLabel.getTotalSize(CLabel.java:266)
+	at org.eclipse.swt.custom.CLabel.onPaint(CLabel.java:429)
+	at org.eclipse.swt.custom.CLabel.lambda$0(CLabel.java:119)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:231)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1561)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.VtblCall(Native Method)
+	at org.eclipse.swt.internal.ole.win32.IOleInPlaceObject.InPlaceDeactivate(IOleInPlaceObject.java:21)
+	at org.eclipse.swt.ole.win32.OleClientSite.deactivateInPlaceClient(OleClientSite.java:609)
+	at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:959)
+	at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:946)
+	at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:128)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:728)
+	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1340)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.jface.text.AbstractInformationControl.dispose(AbstractInformationControl.java:521)
+	at org.eclipse.jface.text.AbstractInformationControlManager.disposeInformationControl(AbstractInformationControlManager.java:1319)
+	at org.eclipse.jface.text.AbstractInformationControlManager.dispose(AbstractInformationControlManager.java:1334)
+	at org.eclipse.jface.text.AbstractHoverInformationControlManager.dispose(AbstractHoverInformationControlManager.java:929)
+	at org.eclipse.jface.text.TextViewerHoverManager.dispose(TextViewerHoverManager.java:378)
+	at org.eclipse.jface.text.TextViewer.handleDispose(TextViewer.java:1874)
+	at org.eclipse.jface.text.source.SourceViewer.handleDispose(SourceViewer.java:788)
+	at org.eclipse.jface.text.source.projection.ProjectionViewer.handleDispose(ProjectionViewer.java:1296)
+	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.handleDispose(JavaSourceViewer.java:509)
+	at org.eclipse.jface.text.TextViewer$2.widgetDisposed(TextViewer.java:1731)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:775)
+	at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5918)
+	at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5739)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(SWTPartRenderer.java:173)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.disposeWidget(ContributedPartRenderer.java:270)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.disposeWidget(ElementReferenceRenderer.java:112)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1994)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1610)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:1165)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1148)
+	at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1430)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1430)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1403)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1606)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1649)
+	at org.eclipse.ui.internal.WorkbenchWindow$6.close(WorkbenchWindow.java:531)
+	at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$4(WBWRenderer.java:612)
+	at org.eclipse.swt.events.ShellListener$2.shellClosed(ShellListener.java:99)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:99)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:281)
+	at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1571)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4767)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2303)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3532)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+!SESSION 2021-10-22 11:33:22.915 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-22 11:33:39.831
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-22 11:34:18.695
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-22 11:35:44.233
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-22 11:35:56.253
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-22 11:36:17.573
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-22 12:15:02.395
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-22 12:15:02.398
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-22 19:57:11.515 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-22 19:57:16.501
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-22 19:57:30.537
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-22 19:58:07.691
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-22 19:58:11.450
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-22 19:58:25.914
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-22 21:01:08.275
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-22 21:01:08.279
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:21.849
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:21.858
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:23.922
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:23.931
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:36.371
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:36.378
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:39.017
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:39.022
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:39.177
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:39.204
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-10-23 19:33:40.058
+!MESSAGE Could not download sources for de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT
+!STACK 1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Contains: Missing de.korap.services.glemm.client:GlemmClient:jar:sources:0.1-SNAPSHOT
+!SUBENTRY 1 org.eclipse.m2e.core 4 -1 2021-10-23 19:33:40.060
+!MESSAGE Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:sources:0.1-SNAPSHOT
+!SUBENTRY 2 org.eclipse.m2e.core 4 -1 2021-10-23 19:33:40.060
+!MESSAGE Missing de.korap.services.glemm.client:GlemmClient:jar:sources:0.1-SNAPSHOT
+
+!ENTRY org.eclipse.m2e.logback.appender 4 0 2021-10-23 19:33:40.098
+!MESSAGE Could not download javadoc for de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT
+!STACK 1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355)
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Contains: Missing de.korap.services.glemm.client:GlemmClient:jar:javadoc:0.1-SNAPSHOT
+!SUBENTRY 1 org.eclipse.m2e.core 4 -1 2021-10-23 19:33:40.099
+!MESSAGE Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:javadoc:0.1-SNAPSHOT
+!SUBENTRY 2 org.eclipse.m2e.core 4 -1 2021-10-23 19:33:40.099
+!MESSAGE Missing de.korap.services.glemm.client:GlemmClient:jar:javadoc:0.1-SNAPSHOT
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:40.860
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:40.863
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:40.971
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:33:40.974
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:43.404
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:43.410
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:43.603
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:43.623
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:43.917
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:43.923
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:44.051
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.jface 2 0 2021-10-23 19:49:45.847
+!MESSAGE Ignored reentrant call while viewer is busy. This is only logged once per viewer instance, but similar calls will still be ignored.
+!STACK 0
+java.lang.RuntimeException
+	at org.eclipse.jface.viewers.ColumnViewer.checkBusy(ColumnViewer.java:761)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTreeViewer.java:150)
+	at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java:302)
+	at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider$3.run(ResourceExtensionContentProvider.java:284)
+	at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.runUpdates(ResourceExtensionContentProvider.java:323)
+	at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider.access$1(ResourceExtensionContentProvider.java:321)
+	at org.eclipse.ui.internal.navigator.resources.workbench.ResourceExtensionContentProvider$2.run(ResourceExtensionContentProvider.java:141)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:125)
+	at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:99)
+	at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:144)
+	at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:273)
+	at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:202)
+	at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
+	at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:308)
+	at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:121)
+	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2237)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2284)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.loadModel(AbstractMergedModelProvider.java:249)
+	at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getMergedModel(AbstractMergedModelProvider.java:219)
+	at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getModelObject(AbstractMergedModelProvider.java:139)
+	at org.eclipse.jst.jee.ui.internal.navigator.JEE5ContentProvider.getCachedContentProvider(JEE5ContentProvider.java:98)
+	at org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider.getChildren(Web25ContentProvider.java:35)
+	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:95)
+	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:241)
+	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:93)
+	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:157)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:143)
+	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:129)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1409)
+	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:347)
+	at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:900)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:618)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2657)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1947)
+	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:674)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1953)
+	at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:674)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1923)
+	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1880)
+	at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:529)
+	at org.eclipse.jface.viewers.StructuredViewer.lambda$3(StructuredViewer.java:1530)
+	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1446)
+	at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:360)
+	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1407)
+	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1530)
+	at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:535)
+	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:349)
+	at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:492)
+	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1466)
+	at org.eclipse.ui.internal.navigator.resources.actions.WorkingSetActionProvider$WorkingSetManagerListener.propertyChange(WorkingSetActionProvider.java:117)
+	at org.eclipse.ui.internal.AbstractWorkingSetManager$5.run(AbstractWorkingSetManager.java:375)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.AbstractWorkingSetManager.lambda$1(AbstractWorkingSetManager.java:383)
+	at org.eclipse.ui.internal.AbstractWorkingSetManager.firePropertyChange(AbstractWorkingSetManager.java:388)
+	at org.eclipse.ui.internal.AbstractWorkingSetManager.workingSetChanged(AbstractWorkingSetManager.java:411)
+	at org.eclipse.ui.internal.WorkingSetManager.workingSetChanged(WorkingSetManager.java:168)
+	at org.eclipse.ui.internal.AbstractWorkingSet.fireWorkingSetChanged(AbstractWorkingSet.java:136)
+	at org.eclipse.ui.internal.WorkingSet.setElements(WorkingSet.java:242)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.lambda$0(DynamicSourcesWorkingSetUpdater.java:216)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:125)
+	at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:99)
+	at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:144)
+	at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:273)
+	at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:202)
+	at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92)
+	at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:308)
+	at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:121)
+	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2237)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2284)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.loadModel(AbstractMergedModelProvider.java:249)
+	at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getMergedModel(AbstractMergedModelProvider.java:219)
+	at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getModelObject(AbstractMergedModelProvider.java:139)
+	at org.eclipse.jst.jee.ui.internal.navigator.JEE5ContentProvider.getCachedContentProvider(JEE5ContentProvider.java:98)
+	at org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider.getChildren(Web25ContentProvider.java:35)
+	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:95)
+	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:157)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:143)
+	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:122)
+	at org.eclipse.jst.jee.ui.internal.navigator.JEE5ContentProvider$1.run(JEE5ContentProvider.java:142)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.074
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.078
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.179
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.182
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.304
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.308
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.317
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.475
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-23 19:49:46.494
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+!SESSION 2021-10-23 20:13:24.772 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-23 20:13:35.668
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-23 20:13:52.458
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-23 20:14:30.737
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-23 20:14:32.225
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-23 20:14:45.962
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-10-25 09:36:58.752 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-25 09:37:08.798
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-25 09:37:25.015
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-25 09:38:15.214
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-25 09:38:19.997
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-25 09:38:36.497
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-25 19:03:32.594
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-25 19:03:32.634
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-26 07:19:36.721 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-26 07:19:47.783
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-26 07:20:06.361
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-26 07:21:51.098
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-26 07:21:53.977
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-26 07:22:06.395
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 07:27:40.445
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-26 07:27:40.448
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 07:58:59.277
+!MESSAGE Unknown or unsupported source locator org.eclipse.jdt.internal.launching.sourcelookup.advanced.AdvancedSourceLookupDirector
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:20:53.633
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:20:53.639
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:20:55.286
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:20:55.293
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:20:55.780
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:20:55.786
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:20:56.198
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:01.609
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:01.656
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:01.843
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:01.850
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:02.246
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:02.251
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:02.272
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:02.559
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 15:21:02.571
+!MESSAGE Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+
+!ENTRY org.eclipse.ui 4 0 2021-10-26 16:53:47.749
+!MESSAGE Unhandled event loop exception
+!STACK 0
+org.eclipse.swt.SWTException: Graphic is disposed
+	at org.eclipse.swt.SWT.error(SWT.java:4552)
+	at org.eclipse.swt.SWT.error(SWT.java:4467)
+	at org.eclipse.swt.SWT.error(SWT.java:4438)
+	at org.eclipse.swt.graphics.Image.getBounds(Image.java:1263)
+	at org.eclipse.swt.custom.CLabel.getTotalSize(CLabel.java:266)
+	at org.eclipse.swt.custom.CLabel.onPaint(CLabel.java:429)
+	at org.eclipse.swt.custom.CLabel.lambda$0(CLabel.java:119)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:231)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1561)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.VtblCall(Native Method)
+	at org.eclipse.swt.internal.ole.win32.IOleInPlaceObject.InPlaceDeactivate(IOleInPlaceObject.java:21)
+	at org.eclipse.swt.ole.win32.OleClientSite.deactivateInPlaceClient(OleClientSite.java:609)
+	at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:959)
+	at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:946)
+	at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:128)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:728)
+	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1340)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.jface.text.AbstractInformationControl.dispose(AbstractInformationControl.java:521)
+	at org.eclipse.jface.text.AbstractInformationControlManager.disposeInformationControl(AbstractInformationControlManager.java:1319)
+	at org.eclipse.jface.text.AbstractInformationControlManager.dispose(AbstractInformationControlManager.java:1334)
+	at org.eclipse.jface.text.AbstractInformationControlManager.dispose(AbstractInformationControlManager.java:1337)
+	at org.eclipse.jface.text.AbstractHoverInformationControlManager.dispose(AbstractHoverInformationControlManager.java:929)
+	at org.eclipse.jface.text.TextViewerHoverManager.dispose(TextViewerHoverManager.java:378)
+	at org.eclipse.jface.text.TextViewer.handleDispose(TextViewer.java:1874)
+	at org.eclipse.jface.text.source.SourceViewer.handleDispose(SourceViewer.java:788)
+	at org.eclipse.jface.text.source.projection.ProjectionViewer.handleDispose(ProjectionViewer.java:1296)
+	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.handleDispose(JavaSourceViewer.java:509)
+	at org.eclipse.jface.text.TextViewer$2.widgetDisposed(TextViewer.java:1731)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:775)
+	at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5918)
+	at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5739)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(SWTPartRenderer.java:173)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.disposeWidget(ContributedPartRenderer.java:270)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.disposeWidget(ElementReferenceRenderer.java:112)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1994)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1610)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:1165)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1148)
+	at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1430)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1430)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1403)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1606)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1649)
+	at org.eclipse.ui.internal.WorkbenchWindow$6.close(WorkbenchWindow.java:531)
+	at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$4(WBWRenderer.java:612)
+	at org.eclipse.swt.events.ShellListener$2.shellClosed(ShellListener.java:99)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:99)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:281)
+	at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1571)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4767)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2303)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3532)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+!SESSION 2021-10-26 17:38:47.322 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-26 17:38:52.040
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-26 17:39:00.117
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-26 17:39:31.936
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-26 17:39:33.107
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-26 17:39:50.238
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-26 18:25:44.913
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-26 18:25:44.917
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.ui 4 0 2021-10-26 20:51:53.251
+!MESSAGE Unhandled event loop exception
+!STACK 0
+org.eclipse.swt.SWTException: Graphic is disposed
+	at org.eclipse.swt.SWT.error(SWT.java:4552)
+	at org.eclipse.swt.SWT.error(SWT.java:4467)
+	at org.eclipse.swt.SWT.error(SWT.java:4438)
+	at org.eclipse.swt.graphics.Image.getBounds(Image.java:1263)
+	at org.eclipse.swt.custom.CLabel.getTotalSize(CLabel.java:266)
+	at org.eclipse.swt.custom.CLabel.onPaint(CLabel.java:429)
+	at org.eclipse.swt.custom.CLabel.lambda$0(CLabel.java:119)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:231)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1561)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4822)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4765)
+	at org.eclipse.swt.internal.win32.OS.VtblCall(Native Method)
+	at org.eclipse.swt.internal.ole.win32.IOleInPlaceObject.InPlaceDeactivate(IOleInPlaceObject.java:21)
+	at org.eclipse.swt.ole.win32.OleClientSite.deactivateInPlaceClient(OleClientSite.java:609)
+	at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:959)
+	at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:946)
+	at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:128)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:728)
+	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1340)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:405)
+	at org.eclipse.swt.widgets.Shell.dispose(Shell.java:729)
+	at org.eclipse.jface.text.AbstractInformationControl.dispose(AbstractInformationControl.java:521)
+	at org.eclipse.jface.text.AbstractInformationControlManager.disposeInformationControl(AbstractInformationControlManager.java:1319)
+	at org.eclipse.jface.text.AbstractInformationControlManager.dispose(AbstractInformationControlManager.java:1334)
+	at org.eclipse.jface.text.AbstractHoverInformationControlManager.dispose(AbstractHoverInformationControlManager.java:929)
+	at org.eclipse.jface.text.TextViewerHoverManager.dispose(TextViewerHoverManager.java:378)
+	at org.eclipse.jface.text.TextViewer.handleDispose(TextViewer.java:1874)
+	at org.eclipse.jface.text.source.SourceViewer.handleDispose(SourceViewer.java:788)
+	at org.eclipse.jface.text.source.projection.ProjectionViewer.handleDispose(ProjectionViewer.java:1296)
+	at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.handleDispose(JavaSourceViewer.java:509)
+	at org.eclipse.jface.text.TextViewer$2.widgetDisposed(TextViewer.java:1731)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:124)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:775)
+	at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5918)
+	at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5739)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:809)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:171)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:929)
+	at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
+	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:426)
+	at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.disposeWidget(SWTPartRenderer.java:173)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.disposeWidget(ContributedPartRenderer.java:270)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.disposeWidget(ElementReferenceRenderer.java:112)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:955)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:910)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:917)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$1(PartRenderingEngine.java:883)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:878)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:862)
+	at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1994)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1610)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:1165)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1148)
+	at org.eclipse.ui.internal.Workbench.lambda$4(Workbench.java:1430)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1430)
+	at org.eclipse.ui.internal.Workbench.close(Workbench.java:1403)
+	at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1606)
+	at org.eclipse.ui.internal.WorkbenchWindow.access$18(WorkbenchWindow.java:1552)
+	at org.eclipse.ui.internal.WorkbenchWindow$11.run(WorkbenchWindow.java:1638)
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1635)
+	at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1649)
+	at org.eclipse.ui.internal.WorkbenchWindow$6.close(WorkbenchWindow.java:531)
+	at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$4(WBWRenderer.java:612)
+	at org.eclipse.swt.events.ShellListener$2.shellClosed(ShellListener.java:99)
+	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:99)
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1076)
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
+	at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:281)
+	at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1571)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4767)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2298)
+	at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:505)
+	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4863)
+	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:345)
+	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1499)
+	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2159)
+	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4757)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
+	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2303)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3532)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+!SESSION 2021-10-27 08:26:38.254 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-27 08:26:49.498
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-27 08:28:19.500
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-27 08:29:11.549
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-27 08:29:13.313
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-27 08:29:25.323
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-27 08:39:31.901
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-27 08:39:31.905
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-27 18:29:07.383
+!MESSAGE Unknown or unsupported source locator org.eclipse.jdt.internal.launching.sourcelookup.advanced.AdvancedSourceLookupDirector
+!SESSION 2021-10-28 07:20:10.206 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-28 07:20:23.549
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-28 07:20:47.628
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-28 07:21:42.727
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-28 07:21:49.921
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-28 07:22:05.147
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-28 07:39:29.459
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-28 07:39:29.463
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-28 13:15:22.875 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-28 13:15:27.042
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-28 13:15:35.912
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-28 13:16:03.364
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-28 13:16:05.194
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-28 13:16:20.208
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-28 15:54:01.188
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-28 15:54:01.192
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-29 08:34:34.850 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-29 08:34:46.844
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-29 08:36:02.764
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-29 08:36:47.972
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-29 08:36:53.821
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-29 08:37:06.420
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-10-29 09:30:04.520
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-10-29 09:30:04.523
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-10-29 17:48:13.423 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-10-29 17:48:24.358
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-10-29 17:49:57.148
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-10-29 17:50:27.334
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.osgi 2 0 2021-10-29 17:50:29.658
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-1: Decoration Calculation,5,main]" timed out waiting (5005ms) for thread "Thread[Worker-6: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-1: Decoration Calculation,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 35 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-10-29 17:50:30.049
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.osgi 2 0 2021-10-29 17:50:32.598
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-10: Initializing Java Tooling,5,main]" timed out waiting (5001ms) for thread "Thread[Worker-6: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-10: Initializing Java Tooling,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 27 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.osgi 2 0 2021-10-29 17:50:33.396
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-7: Update dynamic Java sources working sets,5,main]" timed out waiting (5003ms) for thread "Thread[Worker-6: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-7: Update dynamic Java sources working sets,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:475)
+	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:265)
+	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:593)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:323)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:309)
+	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:264)
+	at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:2235)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:194)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:175)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater$1.run(DynamicSourcesWorkingSetUpdater.java:162)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 39 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:475)
+	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:265)
+	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:593)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:323)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:309)
+	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:264)
+	at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:2235)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:194)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:175)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater$1.run(DynamicSourcesWorkingSetUpdater.java:162)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.osgi 2 0 2021-10-29 17:50:34.679
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathHelpers", thread "Thread[Worker-1: Decoration Calculation,5,main]" timed out waiting (5005ms) for thread "Thread[Worker-6: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-1: Decoration Calculation,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathHelpers" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:44)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 29 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:44)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui.workbench 4 2 2021-10-29 17:50:35.285
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.getBuildPathManager(MavenClasspathContainerInitializer.java:80)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui 4 4 2021-10-29 17:50:35.307
+!MESSAGE Exception in Decorator. The 'Java Build Path Indicator' decorator will be disabled.
+!SUBENTRY 1 org.eclipse.ui 4 4 2021-10-29 17:50:35.307
+!MESSAGE java.lang.NullPointerException
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.getBuildPathManager(MavenClasspathContainerInitializer.java:80)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.core.resources 4 2 2021-10-29 17:50:35.760
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3128)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:240)
+	at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2107)
+	at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:474)
+	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:297)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:287)
+	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:150)
+	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:376)
+	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1499)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2302)
+	at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(NotificationManager.java:41)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui.navigator 4 2 2021-10-29 17:50:35.828
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.navigator".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.DynamicProjectReferences.getDependentProjects(DynamicProjectReferences.java:34)
+	at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:949)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:265)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllReferences(ProjectDescription.java:221)
+	at org.eclipse.core.internal.resources.Project.getReferencedProjects(Project.java:470)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.buildConnectedComponents(CloseUnrelatedProjectsAction.java:79)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.computeRelated(CloseUnrelatedProjectsAction.java:199)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.getSelectedResources(CloseUnrelatedProjectsAction.java:216)
+	at org.eclipse.ui.actions.SelectionListenerAction.selectionIsOfType(SelectionListenerAction.java:240)
+	at org.eclipse.ui.actions.CloseResourceAction.updateSelection(CloseResourceAction.java:222)
+	at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:124)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.updateActionBars(ResourceMgmtActionProvider.java:286)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.fillActionBars(ResourceMgmtActionProvider.java:89)
+	at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:265)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:258)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:84)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:78)
+	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.core.jobs 4 2 2021-10-29 17:50:35.831
+!MESSAGE An internal error occurred during: "Initializing Java Tooling".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui.navigator 4 0 2021-10-29 17:50:35.932
+!MESSAGE java.lang.NullPointerException
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.DynamicProjectReferences.getDependentProjects(DynamicProjectReferences.java:34)
+	at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:949)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:265)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllReferences(ProjectDescription.java:221)
+	at org.eclipse.core.internal.resources.Project.getReferencedProjects(Project.java:470)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.buildConnectedComponents(CloseUnrelatedProjectsAction.java:79)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.computeRelated(CloseUnrelatedProjectsAction.java:199)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.getSelectedResources(CloseUnrelatedProjectsAction.java:216)
+	at org.eclipse.ui.actions.SelectionListenerAction.selectionIsOfType(SelectionListenerAction.java:240)
+	at org.eclipse.ui.actions.CloseResourceAction.updateSelection(CloseResourceAction.java:222)
+	at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:124)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.updateActionBars(ResourceMgmtActionProvider.java:286)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.fillActionBars(ResourceMgmtActionProvider.java:89)
+	at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:265)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:258)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:84)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:78)
+	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-10-29 17:50:43.714
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-11-03 09:16:59.278 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-11-03 09:17:11.520
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-11-03 09:17:34.073
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-11-03 09:18:11.518
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-03 09:18:14.697
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-6: Decoration Calculation,5,main]" timed out waiting (5021ms) for thread "Thread[Worker-5: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-6: Decoration Calculation,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 35 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-03 09:18:17.196
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-1: Initializing Java Tooling,5,main]" timed out waiting (5028ms) for thread "Thread[Worker-5: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-1: Initializing Java Tooling,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 27 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-03 09:18:18.874
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-2: Update dynamic Java sources working sets,5,main]" timed out waiting (5014ms) for thread "Thread[Worker-5: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-2: Update dynamic Java sources working sets,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:475)
+	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:265)
+	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:593)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:323)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:309)
+	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:264)
+	at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:2235)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:194)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:175)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater$1.run(DynamicSourcesWorkingSetUpdater.java:162)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 39 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:475)
+	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:265)
+	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:593)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:323)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:309)
+	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:264)
+	at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:2235)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:194)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:175)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater$1.run(DynamicSourcesWorkingSetUpdater.java:162)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-11-03 09:18:19.544
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-03 09:18:19.821
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathHelpers", thread "Thread[Worker-6: Decoration Calculation,5,main]" timed out waiting (5002ms) for thread "Thread[Worker-5: Find accessor type,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-6: Decoration Calculation,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathHelpers" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:44)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 29 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:44)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui.workbench 4 2 2021-11-03 09:18:29.370
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.core.resources 4 2 2021-11-03 09:18:29.372
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3128)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:240)
+	at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2107)
+	at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:474)
+	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:297)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:287)
+	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:150)
+	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:376)
+	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1499)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2302)
+	at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(NotificationManager.java:41)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui 4 4 2021-11-03 09:18:29.416
+!MESSAGE Exception in Decorator. The 'Java Build Path Indicator' decorator will be disabled.
+!SUBENTRY 1 org.eclipse.ui 4 4 2021-11-03 09:18:29.416
+!MESSAGE java.lang.NullPointerException
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2646)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:45)
+	at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:32)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:258)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:104)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:377)
+	at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:359)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(DecorationScheduler.java:347)
+	at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:310)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui.navigator 4 2 2021-11-03 09:18:29.600
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.navigator".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.DynamicProjectReferences.getDependentProjects(DynamicProjectReferences.java:34)
+	at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:949)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:265)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllReferences(ProjectDescription.java:221)
+	at org.eclipse.core.internal.resources.Project.getReferencedProjects(Project.java:470)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.buildConnectedComponents(CloseUnrelatedProjectsAction.java:79)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.computeRelated(CloseUnrelatedProjectsAction.java:199)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.getSelectedResources(CloseUnrelatedProjectsAction.java:216)
+	at org.eclipse.ui.actions.SelectionListenerAction.selectionIsOfType(SelectionListenerAction.java:240)
+	at org.eclipse.ui.actions.CloseResourceAction.updateSelection(CloseResourceAction.java:222)
+	at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:124)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.updateActionBars(ResourceMgmtActionProvider.java:286)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.fillActionBars(ResourceMgmtActionProvider.java:89)
+	at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:265)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:258)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:84)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:78)
+	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.core.jobs 4 2 2021-11-03 09:18:29.603
+!MESSAGE An internal error occurred during: "Initializing Java Tooling".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui.navigator 4 0 2021-11-03 09:18:29.753
+!MESSAGE java.lang.NullPointerException
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.DynamicProjectReferences.getDependentProjects(DynamicProjectReferences.java:34)
+	at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:949)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:265)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllReferences(ProjectDescription.java:221)
+	at org.eclipse.core.internal.resources.Project.getReferencedProjects(Project.java:470)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.buildConnectedComponents(CloseUnrelatedProjectsAction.java:79)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.computeRelated(CloseUnrelatedProjectsAction.java:199)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.getSelectedResources(CloseUnrelatedProjectsAction.java:216)
+	at org.eclipse.ui.actions.SelectionListenerAction.selectionIsOfType(SelectionListenerAction.java:240)
+	at org.eclipse.ui.actions.CloseResourceAction.updateSelection(CloseResourceAction.java:222)
+	at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:124)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.updateActionBars(ResourceMgmtActionProvider.java:286)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.fillActionBars(ResourceMgmtActionProvider.java:89)
+	at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:265)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:258)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:84)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:78)
+	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-11-03 09:18:37.448
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+!SESSION 2021-11-04 08:13:55.266 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-11-04 08:14:08.185
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-11-04 08:14:54.236
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-11-04 08:15:29.889
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-04 08:15:32.146
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-10: Find accessor type,5,main]" timed out waiting (5075ms) for thread "Thread[Worker-5: Decoration Calculation,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-10: Find accessor type,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(JavaModelManager.java:1169)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:1052)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:993)
+	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:3498)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.findAccessorType(PropertiesFileEditor.java:324)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.access$1(PropertiesFileEditor.java:315)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor$2.run(PropertiesFileEditor.java:133)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 32 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(JavaModelManager.java:1169)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:1052)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:993)
+	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:3498)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.findAccessorType(PropertiesFileEditor.java:324)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.access$1(PropertiesFileEditor.java:315)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor$2.run(PropertiesFileEditor.java:133)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-04 08:15:35.177
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-14: Initializing Java Tooling,5,main]" timed out waiting (5014ms) for thread "Thread[Worker-5: Decoration Calculation,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-14: Initializing Java Tooling,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 27 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
diff --git a/wsp-KorAP-Services/.metadata/.lock b/wsp-KorAP-Services/.metadata/.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.lock
diff --git a/wsp-KorAP-Services/.metadata/.log b/wsp-KorAP-Services/.metadata/.log
new file mode 100644
index 0000000..273920c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.log
@@ -0,0 +1,1228 @@
+!SESSION 2021-11-04 08:13:55.266 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+This is a continuation of log file C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services\.metadata\.bak_0.log
+Created Time: 2021-11-04 08:15:36.372
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-11-04 08:15:36.373
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-04 08:15:37.072
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer", thread "Thread[Worker-13: Update dynamic Java sources working sets,5,main]" timed out waiting (5005ms) for thread "Thread[Worker-5: Decoration Calculation,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-13: Update dynamic Java sources working sets,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:475)
+	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:265)
+	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:593)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:323)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:309)
+	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:264)
+	at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:2235)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:194)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:175)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater$1.run(DynamicSourcesWorkingSetUpdater.java:162)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 39 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:3666)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:3642)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3165)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:475)
+	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:265)
+	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:593)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:323)
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:309)
+	at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:264)
+	at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:2235)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:194)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater.updateElements(DynamicSourcesWorkingSetUpdater.java:175)
+	at org.eclipse.jdt.internal.ui.workingsets.DynamicSourcesWorkingSetUpdater$1.run(DynamicSourcesWorkingSetUpdater.java:162)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.osgi 2 0 2021-11-04 08:15:37.201
+!MESSAGE While loading class "org.eclipse.m2e.jdt.internal.MavenClasspathHelpers", thread "Thread[Worker-10: Find accessor type,5,main]" timed out waiting (5003ms) for thread "Thread[Worker-5: Decoration Calculation,5,main]" to finish starting bundle "org.eclipse.m2e.jdt_1.9.0.20180606-2036 [265]". To avoid deadlock, thread "Thread[Worker-10: Find accessor type,5,main]" is proceeding but "org.eclipse.m2e.jdt.internal.MavenClasspathHelpers" may not be fully initialized.
+!STACK 0
+org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.9.0.20180606-2036"; osgi.identity="org.eclipse.m2e.jdt"; singleton:="true" [id=265] STARTED [STARTED]
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:44)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(JavaModelManager.java:1169)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:1052)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:993)
+	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:3498)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.findAccessorType(PropertiesFileEditor.java:324)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.access$1(PropertiesFileEditor.java:315)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor$2.run(PropertiesFileEditor.java:133)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	... 26 more
+Root exception:
+java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
+	at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
+	at org.eclipse.osgi.container.Module.start(Module.java:401)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:44)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(JavaModelManager.java:1169)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:1052)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:993)
+	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:3498)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.findAccessorType(PropertiesFileEditor.java:324)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.access$1(PropertiesFileEditor.java:315)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor$2.run(PropertiesFileEditor.java:133)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.core.resources 4 2 2021-11-04 08:15:42.859
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.getBuildPathManager(MavenClasspathContainerInitializer.java:80)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3128)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.ClasspathChange.generateDelta(ClasspathChange.java:240)
+	at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2107)
+	at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:474)
+	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:297)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:287)
+	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:150)
+	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:376)
+	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1499)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2302)
+	at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(NotificationManager.java:41)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.core.jobs 4 2 2021-11-04 08:15:42.863
+!MESSAGE An internal error occurred during: "Find accessor type".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.getBuildPathManager(MavenClasspathContainerInitializer.java:80)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2120)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath(JavaModelManager.java:1169)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:1052)
+	at org.eclipse.jdt.internal.core.JavaModelManager.create(JavaModelManager.java:993)
+	at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:3498)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.findAccessorType(PropertiesFileEditor.java:324)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor.access$1(PropertiesFileEditor.java:315)
+	at org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor$2.run(PropertiesFileEditor.java:133)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.core.jobs 4 2 2021-11-04 08:15:42.989
+!MESSAGE An internal error occurred during: "Initializing Java Tooling".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.getBuildPathManager(MavenClasspathContainerInitializer.java:80)
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4381)
+	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.ui.navigator 4 2 2021-11-04 08:15:42.991
+!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.navigator".
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.DynamicProjectReferences.getDependentProjects(DynamicProjectReferences.java:34)
+	at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:949)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:265)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllReferences(ProjectDescription.java:221)
+	at org.eclipse.core.internal.resources.Project.getReferencedProjects(Project.java:470)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.buildConnectedComponents(CloseUnrelatedProjectsAction.java:79)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.computeRelated(CloseUnrelatedProjectsAction.java:199)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.getSelectedResources(CloseUnrelatedProjectsAction.java:216)
+	at org.eclipse.ui.actions.SelectionListenerAction.selectionIsOfType(SelectionListenerAction.java:240)
+	at org.eclipse.ui.actions.CloseResourceAction.updateSelection(CloseResourceAction.java:222)
+	at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:124)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.updateActionBars(ResourceMgmtActionProvider.java:286)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.fillActionBars(ResourceMgmtActionProvider.java:89)
+	at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:265)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:258)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:84)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:78)
+	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.ui.navigator 4 0 2021-11-04 08:15:43.096
+!MESSAGE java.lang.NullPointerException
+!STACK 0
+java.lang.NullPointerException
+	at org.eclipse.m2e.jdt.internal.MavenClasspathContainerInitializer.initialize(MavenClasspathContainerInitializer.java:46)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:3184)
+	at org.eclipse.jdt.internal.core.JavaModelManager$10.run(JavaModelManager.java:3076)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316)
+	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:3130)
+	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:2115)
+	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3619)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3118)
+	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:3282)
+	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2359)
+	at org.eclipse.jdt.internal.core.DynamicProjectReferences.getDependentProjects(DynamicProjectReferences.java:34)
+	at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:949)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:265)
+	at org.eclipse.core.internal.resources.ProjectDescription.getAllReferences(ProjectDescription.java:221)
+	at org.eclipse.core.internal.resources.Project.getReferencedProjects(Project.java:470)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.buildConnectedComponents(CloseUnrelatedProjectsAction.java:79)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.computeRelated(CloseUnrelatedProjectsAction.java:199)
+	at org.eclipse.ui.actions.CloseUnrelatedProjectsAction.getSelectedResources(CloseUnrelatedProjectsAction.java:216)
+	at org.eclipse.ui.actions.SelectionListenerAction.selectionIsOfType(SelectionListenerAction.java:240)
+	at org.eclipse.ui.actions.CloseResourceAction.updateSelection(CloseResourceAction.java:222)
+	at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged(BaseSelectionListenerAction.java:124)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.updateActionBars(ResourceMgmtActionProvider.java:286)
+	at org.eclipse.ui.internal.navigator.resources.actions.ResourceMgmtActionProvider.fillActionBars(ResourceMgmtActionProvider.java:89)
+	at org.eclipse.ui.navigator.NavigatorActionService$3.run(NavigatorActionService.java:265)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.NavigatorActionService.fillActionBars(NavigatorActionService.java:258)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob$1.run(CommonNavigatorManager.java:84)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.ui.navigator.CommonNavigatorManager$UpdateActionBarsJob.runInUIThread(CommonNavigatorManager.java:78)
+	at org.eclipse.ui.progress.UIJob.lambda$0(UIJob.java:95)
+	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37)
+	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
+	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3906)
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3537)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059)
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-11-04 08:15:59.192
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-11-04 08:39:09.023
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-11-04 08:39:09.026
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-11-05 08:25:07.698 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-11-05 08:25:19.411
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-11-05 08:25:39.877
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-11-05 08:26:38.485
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-11-05 08:26:45.218
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-11-05 08:27:01.965
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-11-05 08:30:01.616
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-11-05 08:30:01.622
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-11-05 17:55:26.781 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -data C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-11-05 17:55:32.293
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-11-05 17:55:38.067
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-11-05 17:56:11.655
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-11-05 17:56:14.970
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-11-05 17:56:29.262
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+
+!ENTRY org.eclipse.m2e.logback.appender 2 0 2021-11-05 18:00:57.035
+!MESSAGE Failed to download org.eclipse.recommenders:index::zip:0.0.0
+!STACK 0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232)
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303)
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193)
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172)
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168)
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364)
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590)
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430)
+	... 8 more
+
+!ENTRY org.eclipse.recommenders.models.rcp 1 0 2021-11-05 18:00:57.040
+!MESSAGE org.eclipse.recommenders:index::zip:0.0.0 could not be resolved from the model repositories. Are you offline?
+!SESSION 2021-11-09 15:16:05.029 -----------------------------------------------
+eclipse.buildId=4.8.0.I20180611-0500
+java.version=1.8.0_231
+java.vendor=Oracle Corporation
+BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
+Framework arguments:  -product org.eclipse.epp.package.java.product
+Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2021-11-09 15:16:16.792
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:800)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+Caused by: java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	... 12 more
+Root exception:
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.basicGetRepository(AbstractRepositoryManager.java:181)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:649)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:107)
+	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:102)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.initializeMetadataRepository(RepositoryListener.java:104)
+	at org.eclipse.equinox.internal.provisional.p2.directorywatcher.RepositoryListener.<init>(RepositoryListener.java:59)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.<init>(DropinsRepositoryListener.java:82)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:515)
+	at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:171)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1555)
+	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.egit.core 2 0 2021-11-09 15:16:41.140
+!MESSAGE Builtin LFS support not present/detected
+!STACK 0
+java.lang.ClassNotFoundException: org.eclipse.jgit.lfs.BuiltinLFS cannot be found by org.eclipse.egit.core_5.0.0.201806131550-r
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at java.lang.Class.forName0(Native Method)
+	at java.lang.Class.forName(Class.java:264)
+	at org.eclipse.egit.core.Activator.registerBuiltinLFS(Activator.java:279)
+	at org.eclipse.egit.core.Activator.start(Activator.java:212)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:454)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.<init>(Activator.java:921)
+	at org.eclipse.egit.ui.Activator.setupRepoChangeScanner(Activator.java:1034)
+	at org.eclipse.egit.ui.Activator.start(Activator.java:336)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772)
+	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1002)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:354)
+	at org.eclipse.osgi.container.Module.doStart(Module.java:581)
+	at org.eclipse.osgi.container.Module.start(Module.java:449)
+	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
+	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:114)
+	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:505)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:392)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:470)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
+	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
+	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
+	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:609)
+	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:177)
+	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:931)
+	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
+	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:60)
+	at org.eclipse.ui.internal.services.WorkbenchServiceRegistry.getSourceProviders(WorkbenchServiceRegistry.java:174)
+	at org.eclipse.ui.internal.services.SourceProviderService.readRegistry(SourceProviderService.java:104)
+	at org.eclipse.ui.internal.Workbench$34.runWithException(Workbench.java:2378)
+	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:32)
+	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
+	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
+	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4567)
+	at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:95)
+	at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:2373)
+	at org.eclipse.ui.internal.Workbench.init(Workbench.java:1654)
+	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2859)
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:654)
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
+
+!ENTRY org.eclipse.epp.logging.aeri.ide 2 17 2021-11-09 15:17:54.147
+!MESSAGE Server ‘org.eclipse.epp.logging.aeri.ide.server’ failed with exception: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $. ; version: 2.0.7.v20170906-1327
+!STACK 0
+com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224)
+	at com.google.gson.Gson.fromJson(Gson.java:888)
+	at com.google.gson.Gson.fromJson(Gson.java:853)
+	at com.google.gson.Gson.fromJson(Gson.java:802)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.json.Json.deserialize(Json.java:91)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.IO.refreshConfiguration(IO.java:66)
+	at org.eclipse.epp.internal.logging.aeri.ide.server.mars.ServerConnection.startUp(ServerConnection.java:124)
+	at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:62)
+	at com.google.common.util.concurrent.Callables$4.run(Callables.java:122)
+	at java.lang.Thread.run(Thread.java:748)
+Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
+	at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385)
+	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213)
+	... 9 more
+
+!ENTRY org.eclipse.egit.ui 2 0 2021-11-09 15:17:54.218
+!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
+user global configuration and to define the default location to store repositories: 'C:\Users\Franck'. If this is
+not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
+EGit might behave differently since they see different configuration options.
+This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+
+!ENTRY org.eclipse.oomph.setup.ui 4 0 2021-11-09 15:18:08.633
+!MESSAGE Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+!STACK 0
+java.lang.IllegalStateException: Registry Directory not available: c:\Program Files\eclipse\java-photon\eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry.
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:236)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.getProfileMap(LazyProfileRegistry.java:227)
+	at org.eclipse.oomph.p2.internal.core.LazyProfileRegistry.containsProfile(LazyProfileRegistry.java:208)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.containsProfile(ProfilePreferences.java:112)
+	at org.eclipse.equinox.internal.p2.engine.ProfilePreferences.load(ProfilePreferences.java:259)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:367)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:626)
+	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:763)
+	at org.eclipse.core.internal.preferences.RootPreferences.getNode(RootPreferences.java:105)
+	at org.eclipse.core.internal.preferences.RootPreferences.node(RootPreferences.java:84)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getSharedPreferences(AbstractRepositoryManager.java:518)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.restoreRepositories(AbstractRepositoryManager.java:1015)
+	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.getKnownRepositories(AbstractRepositoryManager.java:480)
+	at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.getKnownRepositories(CachingRepositoryManager.java:623)
+	at org.eclipse.oomph.p2.core.P2Util.getKnownRepositories(P2Util.java:84)
+	at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.isNeeded(P2TaskImpl.java:701)
+	at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.initNeededSetupTasks(SetupTaskPerformer.java:2273)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.performStartup(SetupUIPlugin.java:679)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin.access$5(SetupUIPlugin.java:415)
+	at org.eclipse.oomph.setup.ui.SetupUIPlugin$1$1.run(SetupUIPlugin.java:252)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
diff --git a/wsp-KorAP-Services/.metadata/.mylyn/.taskListIndex/segments_1 b/wsp-KorAP-Services/.metadata/.mylyn/.taskListIndex/segments_1
new file mode 100644
index 0000000..387f910
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.mylyn/.taskListIndex/segments_1
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.mylyn/.taskListIndex/write.lock b/wsp-KorAP-Services/.metadata/.mylyn/.taskListIndex/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.mylyn/.taskListIndex/write.lock
diff --git a/wsp-KorAP-Services/.metadata/.mylyn/.tasks.xml.zip b/wsp-KorAP-Services/.metadata/.mylyn/.tasks.xml.zip
new file mode 100644
index 0000000..dcfc9ba
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.mylyn/.tasks.xml.zip
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.mylyn/repositories.xml.zip b/wsp-KorAP-Services/.metadata/.mylyn/repositories.xml.zip
new file mode 100644
index 0000000..59c2429
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.mylyn/repositories.xml.zip
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.mylyn/tasks.xml.zip b/wsp-KorAP-Services/.metadata/.mylyn/tasks.xml.zip
new file mode 100644
index 0000000..b3a8799
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.mylyn/tasks.xml.zip
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1/20d7cd0b9a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1/20d7cd0b9a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..22deadd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1/20d7cd0b9a3d001c10b1b17ddd309e6f
@@ -0,0 +1,729 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1/70cc4ee55d3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1/70cc4ee55d3e001c1035c1eaf38af590
new file mode 100644
index 0000000..a698bcb
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1/70cc4ee55d3e001c1035c1eaf38af590
@@ -0,0 +1,812 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	public static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+	if( nErrors == -1 )
+		GlemmServices.ferr.printf("Error: %s: SQL error when creating SQL statement!\n", func);
+	else if( nErrors == -2 )
+		GlemmServices.ferr.printf("Error: %s: connection error to Derby Server!\n", func);
+	else if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or 
+	 * 			-1: SQL insert error, or
+	 * 			-2: connection error to Derby Server, or
+	 * 		   > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -3; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return con == null ? -1 : -2;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/18/603dd976963d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/18/603dd976963d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..0a5d700
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/18/603dd976963d001c10b1b17ddd309e6f
@@ -0,0 +1,729 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/19/3040d864123e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/19/3040d864123e001c1363beb932ae63a1
new file mode 100644
index 0000000..399d3f9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/19/3040d864123e001c1363beb932ae63a1
@@ -0,0 +1,758 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		DatabaseMetaData
+			dbmetadata = con.getMetaData();
+		dbmetadata.
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize )  
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1b/e03efbedd13c001c15e4c7a77891773f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1b/e03efbedd13c001c15e4c7a77891773f
new file mode 100644
index 0000000..d78fc5e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1b/e03efbedd13c001c15e4c7a77891773f
@@ -0,0 +1,32 @@
+# GlemmServices properties:
+# expected in /WEB-INF/.
+
+## General properties:
+GS_WorkingPath = /home/bodmer/KorAP/GlemmServices/work-live
+
+# GlemmDB properties:
+# DerbyArchivDB = database for a whole C2-Archive:
+fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyArchivDB
+#fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB2
+serverHost	= //localhost:1527/
+
+## Glemm: properties for lemmatizing:
+
+# fnameScript = GS_WorkingPath + doGlemm
+fnameScript = doGlemm
+# fnameWfs = GS_WorkingPath + "/gl_wfs_in.txt";
+fnameWfs = gl_wfs_in.txt
+# fnameScript	= GS_WorkingPath + "/doGlemm";
+fnameScript	= doGlemm
+# fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+# lem3 expected to be ISO8859-1 encoded.
+fnameLemata	= tmp/lem3
+
+## Loging:
+
+# fnameOut = GS_WorkingPath + "/GlemmServices.log";
+#fnameOut = GlemmServices-t.log
+fnameOut = GlemmServices.log
+# fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+#fnameErr = GlemmServices-t.err
+fnameErr = GlemmServices.err
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1e/305420430a3e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1e/305420430a3e001c1363beb932ae63a1
new file mode 100644
index 0000000..8042c7f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1e/305420430a3e001c1363beb932ae63a1
@@ -0,0 +1,745 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/* variables */
+	static int nExceptStmt		= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert	= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1e/4039f71fac2a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1e/4039f71fac2a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..0aaebd9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/1e/4039f71fac2a001c1c41ce559ea5e16b
@@ -0,0 +1,674 @@
+package de.korap.services;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// test
+		props = new Properties();
+		props.setProperty("p", "test");
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/27/80acf3e14a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/27/80acf3e14a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..e4c6a0a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/27/80acf3e14a3d001c10b1b17ddd309e6f
@@ -0,0 +1,975 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Debug: %s: submitted databasename='%s'.\n", func, dbpath);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/29/00dad4bd3f3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/29/00dad4bd3f3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..66b6f32
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/29/00dad4bd3f3d001c10b1b17ddd309e6f
@@ -0,0 +1,958 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "29.10.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String doPOST_importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/2a/5015540f4f2c001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/2a/5015540f4f2c001c1c41ce559ea5e16b
new file mode 100644
index 0000000..90229bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/2a/5015540f4f2c001c1c41ce559ea5e16b
@@ -0,0 +1,719 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "GlemmServices.properties";
+		// read test
+		props = new Properties();
+		
+				
+		//getServletContext(.)
+		// httpServletRequest.setCharacterEncoding(env);
+/*
+		InputStream
+			//inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+			inProp = HttpServletRequest.class.getResourceAsStream(propName);
+
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			return null;
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+*/	
+		// end of read test
+		
+		// test
+		/**/
+		props = new Properties();
+		
+		 /* props.setProperty("p", "test");
+		 */
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		/**/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/2f/e0926bb63f3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/2f/e0926bb63f3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..6ce271e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/2f/e0926bb63f3d001c10b1b17ddd309e6f
@@ -0,0 +1,960 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "29.10.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String doPOST_importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3/50825010812b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3/50825010812b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..ce80efd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3/50825010812b001c1c41ce559ea5e16b
@@ -0,0 +1,690 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		GlemmServices.class
+		FileInputStream
+			inProp = getServletContext(). ServletContext.  .getResourceAsStream("GlemmServices.properties"); //new FileInput
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/31/400e3d8fd4b0001a15ceaa54834eb3f7 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/31/400e3d8fd4b0001a15ceaa54834eb3f7
new file mode 100644
index 0000000..777443a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/31/400e3d8fd4b0001a15ceaa54834eb3f7
@@ -0,0 +1,86 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices</artifactId>
+  <version>0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  
+  <description>RESTfull GlemmServices für KorAP</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+		<scope>runtime</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap</groupId>
+		<artifactId>json</artifactId>
+		<scope>runtime</scope>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/32/507854cc263e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/32/507854cc263e001c1363beb932ae63a1
new file mode 100644
index 0000000..cddb141
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/32/507854cc263e001c1363beb932ae63a1
@@ -0,0 +1,762 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/33/e0aa3f8c553d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/33/e0aa3f8c553d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..d7746e9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/33/e0aa3f8c553d001c10b1b17ddd309e6f
@@ -0,0 +1,985 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 	: the list of wfs sent in the body of the POST request.
+	 * dbpathEncoded: the location of the database where the lemma+wfs are to be stored.
+	 *             	  encoded as ".home.user.KorAP....", must be converted to
+	 *            	  "/home/user/KorAP/..."
+	 *         		  IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 										  list,
+							@PathParam(value="databasepath") final String dbpathEncoded
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	String
+		dbpath;
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath = dbpathEncoded.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/34/7089a21e5a3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/34/7089a21e5a3e001c1035c1eaf38af590
new file mode 100644
index 0000000..1a1e5cc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/34/7089a21e5a3e001c1035c1eaf38af590
@@ -0,0 +1,984 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "05.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 	: the list of wfs sent in the body of the POST request.
+	 * dbpathEncoded: the location of the database where the lemma+wfs are to be stored.
+	 *             	  encoded as ".home.user.KorAP....", must be converted to
+	 *            	  "/home/user/KorAP/..."
+	 *         		  IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 										  list,
+							@PathParam(value="databasepath") final String dbpathEncoded
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	String
+		dbpath;
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath = dbpathEncoded.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/39/504c61af9a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/39/504c61af9a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..15a7410
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/39/504c61af9a3d001c10b1b17ddd309e6f
@@ -0,0 +1,732 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			// now commit, as autoCommit is deactivated:
+			con.commit();
+			
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3b/00d28405273e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3b/00d28405273e001c1363beb932ae63a1
new file mode 100644
index 0000000..814c359
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3b/00d28405273e001c1363beb932ae63a1
@@ -0,0 +1,862 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	private static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3c/709b5d74812b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3c/709b5d74812b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..9f67587
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3c/709b5d74812b001c1c41ce559ea5e16b
@@ -0,0 +1,690 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		FileInputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3f/d01f022f102c001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3f/d01f022f102c001c1c41ce559ea5e16b
new file mode 100644
index 0000000..3fdefb1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/3f/d01f022f102c001c1c41ce559ea5e16b
@@ -0,0 +1,716 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "GlemmServices.properties";
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+		
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			return null;
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/3024974c7e3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/3024974c7e3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..bda5e5b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/3024974c7e3d001c10b1b17ddd309e6f
@@ -0,0 +1,729 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/602e8d379a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/602e8d379a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..53eb0e0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/602e8d379a3d001c10b1b17ddd309e6f
@@ -0,0 +1,729 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/606ce2a8921a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/606ce2a8921a001a19b2875de0272c6c
new file mode 100644
index 0000000..f539508
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4/606ce2a8921a001a19b2875de0272c6c
@@ -0,0 +1,29 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>GlemmServices2</groupId>
+  <artifactId>GlemmServices2</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  <description>GlemmServices für KorAP</description>
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/41/20494f35963d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/41/20494f35963d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..4dc2b01
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/41/20494f35963d001c10b1b17ddd309e6f
@@ -0,0 +1,730 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		e1.p
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/42/a097118e483d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/42/a097118e483d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..0635381
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/42/a097118e483d001c10b1b17ddd309e6f
@@ -0,0 +1,973 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	
+	@Path("add/{databasename}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasename") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Debug: %s: submitted databasename='%s'.\n", func, dbpath);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/48/a0204e2f5e3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/48/a0204e2f5e3e001c1035c1eaf38af590
new file mode 100644
index 0000000..345b5bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/48/a0204e2f5e3e001c1035c1eaf38af590
@@ -0,0 +1,813 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	public static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+	if( nErrors == -1 )
+		GlemmServices.ferr.printf("Error: %s: SQL error when creating SQL statement!\n", func);
+	else if( nErrors == -2 )
+		GlemmServices.ferr.printf("Error: %s: connection error to Derby Server!\n", func);
+	else if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns:  0: OK or 
+	 * 			-1: connection error to Derby Server, or
+	 * 			-2: SQL error, or
+	 * 			-3: I/O error when reading wfs, or
+	 * 		   > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -3; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return con == null ? -1 : -2;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/00472623113e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/00472623113e001c1363beb932ae63a1
new file mode 100644
index 0000000..ff3cc7b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/00472623113e001c1363beb932ae63a1
@@ -0,0 +1,746 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/* variables */
+	static int nExceptStmt		= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert	= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/a0f864eb4a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/a0f864eb4a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..57a41f7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/a0f864eb4a3d001c10b1b17ddd309e6f
@@ -0,0 +1,975 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Info : %s: selected database path ='%s'.\n", func, dbpath);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c0380c29a52a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c0380c29a52a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..952b70d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c0380c29a52a001c1c41ce559ea5e16b
@@ -0,0 +1,650 @@
+package de.korap.services;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status()
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4c/c0965e96423d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4c/c0965e96423d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..0d0fd4c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4c/c0965e96423d001c10b1b17ddd309e6f
@@ -0,0 +1,965 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	
+	@Path("add/{databasename") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData(
+							String 						list,
+							@PathParam(value="lemma") 	final String dbname
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4e/b09ddf525d3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4e/b09ddf525d3e001c1035c1eaf38af590
new file mode 100644
index 0000000..fdb2af3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/4e/b09ddf525d3e001c1035c1eaf38af590
@@ -0,0 +1,808 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	public static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or 
+	 * 			-1: SQL insert error, or
+	 * 			-2: connection error to Derby Server, or
+	 * 		   > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -2; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/51/a0159f605a3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/51/a0159f605a3e001c1035c1eaf38af590
new file mode 100644
index 0000000..d9be9b4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/51/a0159f605a3e001c1035c1eaf38af590
@@ -0,0 +1,988 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "05.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	boolean
+		bDerbyServerConnected = false;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	bDerbyServerConnected = GlemmDB.checkDerbyConnection() == 0 ? true : false;
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 	: the list of wfs sent in the body of the POST request.
+	 * dbpathEncoded: the location of the database where the lemma+wfs are to be stored.
+	 *             	  encoded as ".home.user.KorAP....", must be converted to
+	 *            	  "/home/user/KorAP/..."
+	 *         		  IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 										  list,
+							@PathParam(value="databasepath") final String dbpathEncoded
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	String
+		dbpath;
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath = dbpathEncoded.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/51/c00d9436852b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/51/c00d9436852b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..a69fe85
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/51/c00d9436852b001c1c41ce559ea5e16b
@@ -0,0 +1,702 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		try {
+			props.load(inProp);
+			Set<String>
+				setProps = props.stringPropertyNames();
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/54/d0e4ff1f52ba001a1a67879b052cc77c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/54/d0e4ff1f52ba001a1a67879b052cc77c
new file mode 100644
index 0000000..28be969
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/54/d0e4ff1f52ba001a1a67879b052cc77c
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <head>
+  <title>Wordform Services (including Glemm Services)</title>
+  <!-- load client javascript library -->
+  <script src="https://korap.ids-mannheim.de/js/korap-plugin-0.2.js"
+          data-server="https://korap.ids-mannheim.de/"></script>
+ </head>
+ <body>
+  <script>
+       let data = {
+         'action' : 'pipe',
+         'service' : 'http://c0r4ft.ids-mannheim.de:40913/wformServices-0.1-SNAPSHOT/wformServices/query'
+       };
+
+       function pluginit (p) {
+         p.onMessage = function(msg) {
+           if (msg.key == 'glemm') {
+             if (msg.value) {
+               data['job'] = 'add';
+             }
+             else {
+               data['job'] = 'del';
+             };
+             KorAPlugin.sendMsg(data);
+           };
+         };
+       };
+     </script>
+   </body>
+</html> 
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/55/209052b7423d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/55/209052b7423d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..9741bc1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/55/209052b7423d001c10b1b17ddd309e6f
@@ -0,0 +1,969 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	
+	@Path("add/{databasename}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 						list,
+							@PathParam(value="lemma") 	final String dbname
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Debug: %s: submitted databasename='%s'.\n", func, dbname);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/55/f061abec038f001a1cb8a1ea083438ae b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/55/f061abec038f001a1cb8a1ea083438ae
new file mode 100644
index 0000000..6a4f2b0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/55/f061abec038f001a1cb8a1ea083438ae
@@ -0,0 +1,72 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services.glemm.client</groupId>
+		<artifactId>GlemmClient</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/59/b0c7cfef812b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/59/b0c7cfef812b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..5587c94
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/59/b0c7cfef812b001c1c41ce559ea5e16b
@@ -0,0 +1,691 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5b/603ba1ff941a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5b/603ba1ff941a001a19b2875de0272c6c
new file mode 100644
index 0000000..d8b61b1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5b/603ba1ff941a001a19b2875de0272c6c
@@ -0,0 +1,55 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices2</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  
+  <description>RESTfull GlemmServices für KorAP</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e0dfb7830f3e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e0dfb7830f3e001c1363beb932ae63a1
new file mode 100644
index 0000000..ff3cc7b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e0dfb7830f3e001c1363beb932ae63a1
@@ -0,0 +1,746 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/* variables */
+	static int nExceptStmt		= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert	= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5e/f0068704ac3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5e/f0068704ac3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..e33d026
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/5e/f0068704ac3d001c10b1b17ddd309e6f
@@ -0,0 +1,739 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/61/c0173c12be8e001a1cb8a1ea083438ae b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/61/c0173c12be8e001a1cb8a1ea083438ae
new file mode 100644
index 0000000..d56eb7e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/61/c0173c12be8e001a1cb8a1ea083438ae
@@ -0,0 +1,67 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap</groupId>
+		<artifactId>json</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/62/a0980230133e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/62/a0980230133e001c1363beb932ae63a1
new file mode 100644
index 0000000..cf7d9b8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/62/a0980230133e001c1363beb932ae63a1
@@ -0,0 +1,770 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		DatabaseMetaData
+			dbmetadata = con.getMetaData();
+		dbmetadata.
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/65/50bb8a6aa52a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/65/50bb8a6aa52a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..8c3067d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/65/50bb8a6aa52a001c1c41ce559ea5e16b
@@ -0,0 +1,675 @@
+package de.korap.services;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// test
+		props = new Properties();
+		props.setProperty("p", "test");
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		try {
+			props.store(out,  "test GlemmServices properties");
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		};
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/69/20a8a4cb593e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/69/20a8a4cb593e001c1035c1eaf38af590
new file mode 100644
index 0000000..ed060a0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/69/20a8a4cb593e001c1035c1eaf38af590
@@ -0,0 +1,809 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	private static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6a/b02333c2423d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6a/b02333c2423d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..f975ec4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6a/b02333c2423d001c10b1b17ddd309e6f
@@ -0,0 +1,86 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices</artifactId>
+  <!--version>0.2-Test</version -->
+  <version>0.2-live</version>
+  
+  <packaging>war</packaging>
+  <name>GlemmServices (Live-Konfiguration)</name>
+  
+  <description>RESTfull GlemmServices für KorAP (Live-Konfiguration)</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6a/c0ab51bc802b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6a/c0ab51bc802b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..0162f4f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6a/c0ab51bc802b001c1c41ce559ea5e16b
@@ -0,0 +1,688 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+				
+		// httpServletRequest.setCharacterEncoding(env);
+		FileInputStream
+			inProp = getServletContext(). ServletContext.  .getResourceAsStream("GlemmServices.properties"); //new FileInput
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6c/2053e670553d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6c/2053e670553d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..74d7d84
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6c/2053e670553d001c10b1b17ddd309e6f
@@ -0,0 +1,724 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6d/3014f7ea113e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6d/3014f7ea113e001c1363beb932ae63a1
new file mode 100644
index 0000000..8a19e65
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6d/3014f7ea113e001c1363beb932ae63a1
@@ -0,0 +1,755 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	final int maxLemmaSize		= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	final int maxWfSize			= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt		= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert	= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		DatabaseMetaData
+			dbmetadata = con.getMetaData();
+		dbmetadata.
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6e/20abc2e3d13c001c15e4c7a77891773f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6e/20abc2e3d13c001c15e4c7a77891773f
new file mode 100644
index 0000000..c055521
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6e/20abc2e3d13c001c15e4c7a77891773f
@@ -0,0 +1,31 @@
+# GlemmServices properties:
+# expected in /WEB-INF/.
+
+## General properties:
+GS_WorkingPath = /home/bodmer/KorAP/GlemmServices/work-live
+
+# GlemmDB properties:
+fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB
+#fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB2
+serverHost	= //localhost:1527/
+
+## Glemm: properties for lemmatizing:
+
+# fnameScript = GS_WorkingPath + doGlemm
+fnameScript = doGlemm
+# fnameWfs = GS_WorkingPath + "/gl_wfs_in.txt";
+fnameWfs = gl_wfs_in.txt
+# fnameScript	= GS_WorkingPath + "/doGlemm";
+fnameScript	= doGlemm
+# fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+# lem3 expected to be ISO8859-1 encoded.
+fnameLemata	= tmp/lem3
+
+## Loging:
+
+# fnameOut = GS_WorkingPath + "/GlemmServices.log";
+#fnameOut = GlemmServices-t.log
+fnameOut = GlemmServices.log
+# fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+#fnameErr = GlemmServices-t.err
+fnameErr = GlemmServices.err
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6f/e0d44a9abd8e001a1cb8a1ea083438ae b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6f/e0d44a9abd8e001a1cb8a1ea083438ae
new file mode 100644
index 0000000..8b139c9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/6f/e0d44a9abd8e001a1cb8a1ea083438ae
@@ -0,0 +1,62 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0bce536ac2a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0bce536ac2a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..3922a59
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0bce536ac2a001c1c41ce559ea5e16b
@@ -0,0 +1,677 @@
+package de.korap.services;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// test
+		props = new Properties();
+		/*
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/70/90ffb96b812b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/70/90ffb96b812b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..af309bb
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/70/90ffb96b812b001c1c41ce559ea5e16b
@@ -0,0 +1,692 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		FileInputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		FileInputStream
+			inProp = getServletContext(). ServletContext.  .getResourceAsStream("GlemmServices.properties"); //new FileInput
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/71/503a55217e3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/71/503a55217e3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..7cfddcc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/71/503a55217e3d001c10b1b17ddd309e6f
@@ -0,0 +1,729 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		con.setAutoCommit(false);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/71/90a92b364d3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/71/90a92b364d3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..97c95ee
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/71/90a92b364d3d001c10b1b17ddd309e6f
@@ -0,0 +1,975 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/72/d027ae0c543d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/72/d027ae0c543d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..16f5ca3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/72/d027ae0c543d001c10b1b17ddd309e6f
@@ -0,0 +1,720 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	GlemmServices.fout.printf("Info: %s: derbyDBURL='%s'.\n", func, derbyDBURL);
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/74/5090c770803c001c15e4c7a77891773f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/74/5090c770803c001c15e4c7a77891773f
new file mode 100644
index 0000000..734e4ad
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/74/5090c770803c001c15e4c7a77891773f
@@ -0,0 +1,22 @@
+# WordformServices properties:
+# expected in /WEB-INF/.
+
+## General properties:
+GS_WorkingPath = /home/bodmer/KorAP/GlemmServices/work-live
+
+## Loging:
+
+# fnameOut = GS_WorkingPath + "/WformmServices.log";
+#fnameOut = WformServices-t.log
+fnameOut = WformServices.log
+# fnameErr = GS_WorkingPath + "/WformServices.err";
+#fnameErr = WformServices-t.err
+fnameErr = WformServices.err
+
+## Communicating with the GlemmServices
+URLGlemmServer		= http://c0r4ft
+GlemmPort			= 40913
+#URLGlemmServices	= GlemmServices-0.2-Test
+URLGlemmServices	= GlemmServices-0.1-SNAPSHOT
+LemmaRequestPath	= index/info/lemma
+	
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/76/809b723c931a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/76/809b723c931a001a19b2875de0272c6c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/76/809b723c931a001a19b2875de0272c6c
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/77/c046c422963d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/77/c046c422963d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..c795a27
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/77/c046c422963d001c10b1b17ddd309e6f
@@ -0,0 +1,731 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7a/805fe45f0a3e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7a/805fe45f0a3e001c1363beb932ae63a1
new file mode 100644
index 0000000..7fd5757
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7a/805fe45f0a3e001c1363beb932ae63a1
@@ -0,0 +1,984 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 	: the list of wfs sent in the body of the POST request.
+	 * dbpathEncoded: the location of the database where the lemma+wfs are to be stored.
+	 *             	  encoded as ".home.user.KorAP....", must be converted to
+	 *            	  "/home/user/KorAP/..."
+	 *         		  IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 										  list,
+							@PathParam(value="databasepath") final String dbpathEncoded
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	String
+		dbpath;
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath = dbpathEncoded.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7b/405a31f73390001a187dfadd31e02cdf b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7b/405a31f73390001a187dfadd31e02cdf
new file mode 100644
index 0000000..835b13c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/7b/405a31f73390001a187dfadd31e02cdf
@@ -0,0 +1,214 @@
+/* 
+ * Set of methods for testing Json parsing methods.
+ * 
+ * 03.04.20/FB
+ */
+
+package test;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.Files;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import de.korap.json.JsonTraverse;
+import de.korap.json.TraversedPath;
+import de.korap.services.glemm.client.GlemmClient;
+import de.korap.services.utils.Utils;
+import de.korap.services.WordformServices;
+
+public class TestJson
+
+{
+	static String inputFilename = "query.in.pretty.json";
+	static String outputFilename = "query.out.pretty.json";
+
+	final static boolean bSimulateWordformServices = true;
+	
+	public static void main(String[] args)
+	
+	{
+	File
+		inFile = new File(inputFilename);
+	File
+		outFile = new File(outputFilename);
+    ObjectMapper
+		objMapper = null;
+	JsonNode
+		jsonNode = null;
+	TraversedPath
+		tPath	 = null;
+	int
+		mode	 = JsonTraverse.REWRITE; 	// JsonTraverse.REWRITE or REWRITE_EXP
+	
+	if( bSimulateWordformServices )
+	{
+		System.out.printf("TestJson: starting simulation of WordformServices...\n");
+		simulateWordformServices(inputFilename, outputFilename);
+		return;
+	}
+	
+	System.out.printf("TestJson: test on '%s'...\n", inputFilename);
+	
+	objMapper = new ObjectMapper();
+	
+	// get full query as a JsonNode tree:
+	try {
+		// get full query from file as a JsonNode tree:
+		jsonNode = objMapper.readTree(inFile);
+		System.out.printf("TestJson: reading from input file: ok.\n");
+		
+		// traverse query and collect lemma subqueries in a TraversedPath object:
+		tPath = new TraversedPath(objMapper);
+		JsonTraverse.traverseJsonTree(jsonNode, tPath, JsonTraverse.COLLECT);
+		System.out.printf("Debug: TestJson: gefundene Lemmata: #: %d, list: '%s'.\n", tPath.getLemmaCount(), tPath.getLemmata());
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		}
+
+	// Exit if no lemma subqueries found:
+	if( tPath == null || tPath.getLemmaCount() == 0 )
+		{
+		System.out.printf("TestJson: keine lemmata gefunden > Rewrite überspringen.\n");
+		return;
+		}
+
+	// Call GlemmServices to resolve lemma-Subqueries.
+	// This returns for each lemma a reference to a list of wordform instanciations
+	// (= instantiation list). 
+	// This list is submitted to traversJsonTree() with the use of the tPath object.
+	
+	// Simulates building of expansion lists, storing them in tPath:
+	if( mode == JsonTraverse.REWRITE)
+		{
+		simulateGlemmServicesConnect(tPath);
+		simulateGlemmServices(tPath);
+		}
+	else
+		simulateGlemmServicesWfs(tPath);
+	
+	// Rewrite KoralQuery: use either JsonTraverse.REWRITE or .REWRITE_EXP:
+	
+	JsonTraverse.traverseJsonTree(jsonNode, tPath, mode);
+		
+	// return rewrittn Json Tree to file:
+	try {
+		objMapper.writerWithDefaultPrettyPrinter().writeValue(outFile, jsonNode);
+		} 
+	catch (IOException e) 
+		{
+		e.printStackTrace();
+		}
+	
+	} // main
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * simulateWordformServices:
+	 * 
+	 * - calls same methode to parse and rewrite KoralQuery that wordformServices do.
+	 * 
+	 * 24.04.20/FB 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 */
+	
+	static void simulateWordformServices(String inputFilename, String outputFilename)  
+	
+	{
+	final String func = "simulateWordformServices";
+	String
+		query		= null,
+		newQuery	= null;
+
+    try {
+		query = Utils.readFromInputStream("./" + inputFilename);
+		} 
+    catch (IOException e1) {
+		e1.printStackTrace();
+		return;
+		}
+    
+    System.out.printf("Debug: %s: sending query to WordformServices...\n",  func);
+    
+	newQuery = WordformServices.doPOST_handleWordformQueries(query) ;
+		
+    System.out.printf("Debug: %s: receiving rewritten query from WordformServices...\n",  func);
+    
+    Utils.writeToOutputStream("./" + outputFilename, newQuery);
+
+	} // simulateWordformServices
+	
+	
+	/* simulateGlemmServicesClient
+	 * 
+	 * 14.04.20/FB
+	 * 
+	 */
+	
+	static int simulateGlemmServicesConnect(TraversedPath tPath)
+	
+	{
+	final String func = "simulateGlemmServicesConnect";
+	GlemmClient
+		glemmClient = new GlemmClient();
+	
+	glemmClient.GlemmConnect();
+	System.out.printf("Debug: %s: done.\n",  func);
+	
+	return 0;
+	} // simulateGlemmServicesClient
+	
+	/* simulateGlemmServices
+	 * 
+	 * input: list of lemmata
+	 * output: list of lemmata (same order) with references to expansion lists.
+	 * 07.04.20/FB
+	 */
+	
+	static void simulateGlemmServices(TraversedPath tPath)
+	
+	{
+		for(int i=0; i<tPath.getLemmaCount(); i++)
+			{
+			tPath.setRef("ref-" + tPath.getLemma(i) + ":" + i);
+			}
+	
+	System.out.printf("tPath.refs: #=%d list='%s'.\n", tPath.getRefsCount(), tPath.getRefsasString());
+		
+	} // simulateGlemmServices
+	
+	/* simulateGlemmServicesWfs
+	 * 
+	 * input: list of lemmata
+	 * output: list of expansion lists (= wordforms), same order.
+	 * 08.04.20/FB
+	 */
+	
+	static void simulateGlemmServicesWfs(TraversedPath tPath)
+	
+	{
+		for(int i=0; i<tPath.getLemmaCount(); i++)
+			{
+			List<String>
+				expList = new ArrayList(i+1);
+			
+			for(int j=0; j<i+1; j++)
+				{
+				expList.add(tPath.getLemma(i) + j);
+				}
+			
+			tPath.addExpList(expList); 
+			}
+	
+	System.out.printf("Debug: simulatedGlemmServicesWfs: %d expansion lists added.\n", tPath.getLemmaCount());
+		
+	} // simulateGlemmServicesWfs
+	
+		
+} // TestJson
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/82/9056ef7f812b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/82/9056ef7f812b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..a433536
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/82/9056ef7f812b001c1c41ce559ea5e16b
@@ -0,0 +1,690 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/83/207da4bb9a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/83/207da4bb9a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..25cac2b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/83/207da4bb9a3d001c10b1b17ddd309e6f
@@ -0,0 +1,739 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+
+		try {
+			// important: now commit, as autoCommit is deactivated:
+			con.commit();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/85/a0e84fad128f001a1cb8a1ea083438ae b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/85/a0e84fad128f001a1cb8a1ea083438ae
new file mode 100644
index 0000000..18ee3df
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/85/a0e84fad128f001a1cb8a1ea083438ae
@@ -0,0 +1,82 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services.glemm.client</groupId>
+		<artifactId>GlemmClient</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>wformServices</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/85/f095fdca993d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/85/f095fdca993d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..ca435dc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/85/f095fdca993d001c10b1b17ddd309e6f
@@ -0,0 +1,729 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/86/b02c0c49523d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/86/b02c0c49523d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..a9c9a95
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/86/b02c0c49523d001c10b1b17ddd309e6f
@@ -0,0 +1,982 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 *             encoded as ".home.user.KorAP....", must be converted to
+	 *             "/home/user/KorAP/..."
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/87/204b80ff872b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/87/204b80ff872b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..00a1b22
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/87/204b80ff872b001c1c41ce559ea5e16b
@@ -0,0 +1,715 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "GlemmServices.properties";
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+		
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/89/506150cabd8e001a1cb8a1ea083438ae b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/89/506150cabd8e001a1cb8a1ea083438ae
new file mode 100644
index 0000000..7d7fb64
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/89/506150cabd8e001a1cb8a1ea083438ae
@@ -0,0 +1,66 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap</groupId>
+		<artifactId>json</artifactId>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/8c/604388fd593e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/8c/604388fd593e001c1035c1eaf38af590
new file mode 100644
index 0000000..f882de1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/8c/604388fd593e001c1035c1eaf38af590
@@ -0,0 +1,805 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	private static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/90/60f0d4a3423d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/90/60f0d4a3423d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..1147c69
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/90/60f0d4a3423d001c10b1b17ddd309e6f
@@ -0,0 +1,969 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	
+	@Path("add/{databasename") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 						list,
+							@PathParam(value="lemma") 	final String dbname
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Debug: %s: submitted databasename='%s'.\n", func, dbname);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/90/900039abb43d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/90/900039abb43d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..4d4eca0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/90/900039abb43d001c10b1b17ddd309e6f
@@ -0,0 +1,744 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/* variables */
+	static int nExceptStmt		= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert	= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/91/10f147804c3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/91/10f147804c3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..4498fdc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/91/10f147804c3d001c10b1b17ddd309e6f
@@ -0,0 +1,974 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/95/f096a6f6553d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/95/f096a6f6553d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..6fd9ed6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/95/f096a6f6553d001c10b1b17ddd309e6f
@@ -0,0 +1,986 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 	: the list of wfs sent in the body of the POST request.
+	 * dbpathEncoded: the location of the database where the lemma+wfs are to be stored.
+	 *             	  encoded as ".home.user.KorAP....", must be converted to
+	 *            	  "/home/user/KorAP/..."
+	 *         		  IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 										  list,
+							@PathParam(value="databasepath") final String dbpathEncoded
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	String
+		dbpath;
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath = dbpathEncoded.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/96/f07c42427e3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/96/f07c42427e3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..21870d5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/96/f07c42427e3d001c10b1b17ddd309e6f
@@ -0,0 +1,728 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/98/60c6e13e122c001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/98/60c6e13e122c001c1c41ce559ea5e16b
new file mode 100644
index 0000000..49be0e9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/98/60c6e13e122c001c1c41ce559ea5e16b
@@ -0,0 +1,719 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "GlemmServices.properties";
+		// read test
+		props = new Properties();
+		
+				
+		//getServletContext(.)
+		// httpServletRequest.setCharacterEncoding(env);
+
+		InputStream
+			//inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+			inProp = HttpServletRequest.class.getResourceAsStream(propName);
+
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			return null;
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/**/
+		props = new Properties();
+		
+		 /* props.setProperty("p", "test");
+		 */
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		/**/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/9e/40d4b1c8048f001a1cb8a1ea083438ae b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/9e/40d4b1c8048f001a1cb8a1ea083438ae
new file mode 100644
index 0000000..a87421b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/9e/40d4b1c8048f001a1cb8a1ea083438ae
@@ -0,0 +1,77 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services.glemm.client</groupId>
+		<artifactId>GlemmClient</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.services</groupId>
+		<artifactId>utils</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/9e/90a40c05523d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/9e/90a40c05523d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..2c72edd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/9e/90a40c05523d001c10b1b17ddd309e6f
@@ -0,0 +1,978 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a1/f00f48e4872b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a1/f00f48e4872b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..c3667d5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a1/f00f48e4872b001c1c41ce559ea5e16b
@@ -0,0 +1,709 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a2/90ce05c69a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a2/90ce05c69a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..3c821a5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a2/90ce05c69a3d001c10b1b17ddd309e6f
@@ -0,0 +1,738 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated:
+			con.commit();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a7/10a490cc51ba001a1a67879b052cc77c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a7/10a490cc51ba001a1a67879b052cc77c
new file mode 100644
index 0000000..eae2799
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/a7/10a490cc51ba001a1a67879b052cc77c
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <head>
+  <title>Wordform Services (including Glemm Services)</title>
+  <!-- load client javascript library -->
+  <script src="https://korap.ids-mannheim.de/js/korap-plugin-0.2.js"
+          data-server="https://korap.ids-mannheim.de/"></script>
+ </head>
+ <body>
+  <script>
+       let data = {
+         'action' : 'pipe',
+         'service' : 'http://c0r4ft.ids-mannheim.de:40913/wformServices-0.1-SNAPSHOT/wformServices/plugin.html'
+       };
+
+       function pluginit (p) {
+         p.onMessage = function(msg) {
+           if (msg.key == 'glemm') {
+             if (msg.value) {
+               data['job'] = 'add';
+             }
+             else {
+               data['job'] = 'del';
+             };
+             KorAPlugin.sendMsg(data);
+           };
+         };
+       };
+     </script>
+   </body>
+</html> 
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/aa/40a0da89662a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/aa/40a0da89662a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..c79e789
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/aa/40a0da89662a001c1c41ce559ea5e16b
@@ -0,0 +1,672 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access:
+	static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB2";
+	static String serverHost = "//localhost:1527/";
+	static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	static String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	static String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/* * * * * * * * * * * * * * * * * * * *
+	 * importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// open reader on Glemm Lemmata:
+	// 
+	try {
+		System.out.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		System.err.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		System.out.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		System.err.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		System.out.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		System.out.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				System.err.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				System.err.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			} // while
+		} 
+	catch (IOException e) {
+		System.err.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			System.err.printf("Error: %s: connection failed!\n", func);
+		else
+			System.err.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    System.out.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		System.err.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			System.err.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		System.err.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    System.out.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			System.err.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		System.err.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	try {
+		System.out.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		System.out.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			System.err.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			System.err.printf("Error: %s: connection failed!\n", func);
+		else
+			System.err.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	System.out.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		System.err.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// open Connection to Derby Database:
+	try {
+		System.out.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		System.out.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			System.err.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			System.err.printf("Error: %s: connection failed!\n", func);
+		else
+			System.err.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				System.err.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+   		System.err.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	System.out.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		System.out.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            System.out.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+                System.out.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+			System.err.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		System.err.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	System.out.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				System.out.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				System.err.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		System.err.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/aa/706ca87d842b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/aa/706ca87d842b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..ee7c755
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/aa/706ca87d842b001c1c41ce559ea5e16b
@@ -0,0 +1,702 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		try {
+			props.load(inProp);
+			Set<String>
+				setProp = props.stringPropertyNames();
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ab/7044d8b65d3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ab/7044d8b65d3e001c1035c1eaf38af590
new file mode 100644
index 0000000..20a1557
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ab/7044d8b65d3e001c1035c1eaf38af590
@@ -0,0 +1,812 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	public static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+	if( nErrors == -1 )
+		GlemmServices.ferr.printf("Error: %s: SQL error when creating SQL statement!\n", func);
+	else if( nErrors == -2 )
+		GlemmServices.ferr.printf("Error: %s: connection error to Derby Server!\n", func);
+	else if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or 
+	 * 			-1: SQL insert error, or
+	 * 			-2: connection error to Derby Server, or
+	 * 		   > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -2; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ad/908fd345553d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ad/908fd345553d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..eae42cf
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ad/908fd345553d001c10b1b17ddd309e6f
@@ -0,0 +1,721 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ad/d0549f2e931a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ad/d0549f2e931a001a19b2875de0272c6c
new file mode 100644
index 0000000..ac0e60e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ad/d0549f2e931a001a19b2875de0272c6c
@@ -0,0 +1,31 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices2</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  <description>RESTfull GlemmServices für KorAP</description>
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b0/205795580a3e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b0/205795580a3e001c1363beb932ae63a1
new file mode 100644
index 0000000..be06c45
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b0/205795580a3e001c1363beb932ae63a1
@@ -0,0 +1,746 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/* variables */
+	static int nExceptStmt		= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert	= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b3/0062f371ac2a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b3/0062f371ac2a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..4967353
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b3/0062f371ac2a001c1c41ce559ea5e16b
@@ -0,0 +1,683 @@
+package de.korap.services;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b3/a051aaa0941a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b3/a051aaa0941a001a19b2875de0272c6c
new file mode 100644
index 0000000..7d887ab
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b3/a051aaa0941a001a19b2875de0272c6c
@@ -0,0 +1,56 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices2</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  
+  <description>RESTfull GlemmServices für KorAP</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+          <webXml>WebContent\WEB-INF\web.xml</webXml>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b6/a0b7b6e8413d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b6/a0b7b6e8413d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..28e9c20
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b6/a0b7b6e8413d001c10b1b17ddd309e6f
@@ -0,0 +1,958 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String doPOST_importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b7/20c8cc32423d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b7/20c8cc32423d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..6f11139
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b7/20c8cc32423d001c10b1b17ddd309e6f
@@ -0,0 +1,962 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	
+	@Path("add/{databasename") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b9/e0257957533d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b9/e0257957533d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..6cf2d0d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/b9/e0257957533d001c10b1b17ddd309e6f
@@ -0,0 +1,983 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 *             encoded as ".home.user.KorAP....", must be converted to
+	 *             "/home/user/KorAP/..."
+	 *             IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 									list,
+							@PathParam(value="databasepath") String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/bb/a0524645941a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/bb/a0524645941a001a19b2875de0272c6c
new file mode 100644
index 0000000..07bfdef
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/bb/a0524645941a001a19b2875de0272c6c
@@ -0,0 +1,55 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices2</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  
+  <description>RESTfull GlemmServices für KorAP</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/307d89e1433d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/307d89e1433d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..b9e59ba
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/307d89e1433d001c10b1b17ddd309e6f
@@ -0,0 +1,32 @@
+# GlemmServices properties:
+# expected in /WEB-INF/.
+
+## General properties:
+GS_WorkingPath = /home/bodmer/KorAP/GlemmServices/work-live
+
+# GlemmDB properties:
+# DerbyArchivDB = database for the wform list of a whole C2-Archive:
+fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyArchiveDB
+#fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB2
+serverHost	= //localhost:1527/
+
+## Glemm: properties for lemmatizing:
+
+# fnameScript = GS_WorkingPath + doGlemm
+fnameScript = doGlemm
+# fnameWfs = GS_WorkingPath + "/gl_wfs_in.txt";
+fnameWfs = gl_wfs_in.txt
+# fnameScript	= GS_WorkingPath + "/doGlemm";
+fnameScript	= doGlemm
+# fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+# lem3 expected to be ISO8859-1 encoded.
+fnameLemata	= tmp/lem3
+
+## Loging:
+
+# fnameOut = GS_WorkingPath + "/GlemmServices.log";
+#fnameOut = GlemmServices-t.log
+fnameOut = GlemmServices.log
+# fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+#fnameErr = GlemmServices-t.err
+fnameErr = GlemmServices.err
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/80bdad56a52a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/80bdad56a52a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..6e713fe
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/80bdad56a52a001c1c41ce559ea5e16b
@@ -0,0 +1,662 @@
+package de.korap.services;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status()
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// test
+		props = new Properties();
+		props.setProperty("p", "test");
+		FileOutputStream
+			out = new FileOutputStream("glemmServices.properties");
+		props.store(out,  "test GlemmServices properties");;
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/b00d65d3862b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/b00d65d3862b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..fea7ecc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/be/b00d65d3862b001c1c41ce559ea5e16b
@@ -0,0 +1,709 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+				} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/bf/c098761c822b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/bf/c098761c822b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..87d0822
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/bf/c098761c822b001c1c41ce559ea5e16b
@@ -0,0 +1,693 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		props.load(inProp);
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c1/608e5abb433d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c1/608e5abb433d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..8a56c50
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c1/608e5abb433d001c10b1b17ddd309e6f
@@ -0,0 +1,32 @@
+# GlemmServices properties:
+# expected in /WEB-INF/.
+
+## General properties:
+GS_WorkingPath = /home/bodmer/KorAP/GlemmServices/work-live
+
+# GlemmDB properties:
+# DerbyArchivDB = database for the wform list of a whole C2-Archive:
+fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyArchivDB
+#fnameDB 		= /home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB2
+serverHost	= //localhost:1527/
+
+## Glemm: properties for lemmatizing:
+
+# fnameScript = GS_WorkingPath + doGlemm
+fnameScript = doGlemm
+# fnameWfs = GS_WorkingPath + "/gl_wfs_in.txt";
+fnameWfs = gl_wfs_in.txt
+# fnameScript	= GS_WorkingPath + "/doGlemm";
+fnameScript	= doGlemm
+# fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+# lem3 expected to be ISO8859-1 encoded.
+fnameLemata	= tmp/lem3
+
+## Loging:
+
+# fnameOut = GS_WorkingPath + "/GlemmServices.log";
+#fnameOut = GlemmServices-t.log
+fnameOut = GlemmServices.log
+# fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+#fnameErr = GlemmServices-t.err
+fnameErr = GlemmServices.err
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c2/c006e90a122c001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c2/c006e90a122c001c1c41ce559ea5e16b
new file mode 100644
index 0000000..95fcf93
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c2/c006e90a122c001c1c41ce559ea5e16b
@@ -0,0 +1,719 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "GlemmServices.properties";
+		// read test
+		props = new Properties();
+		
+				
+		//getServletContext(.)
+		// httpServletRequest.setCharacterEncoding(env);
+
+		InputStream
+			//inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+			inProp = HttpServletRequest.class.getResourceAsStream(propName);
+
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			return null;
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/**/
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		/**/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c3/c0ac6b51112c001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c3/c0ac6b51112c001c1c41ce559ea5e16b
new file mode 100644
index 0000000..302ace8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c3/c0ac6b51112c001c1c41ce559ea5e16b
@@ -0,0 +1,716 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "/GlemmServices.properties";
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+		
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			return null;
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/0036b8875d3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/0036b8875d3e001c1035c1eaf38af590
new file mode 100644
index 0000000..4ae7de9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/0036b8875d3e001c1035c1eaf38af590
@@ -0,0 +1,810 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	public static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+	if( nErrors == -2 )
+		GlemmServices.ferr.printf("Error: %s: connection error to Derby Server!\n", func);
+	else if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or 
+	 * 			-1: SQL insert error, or
+	 * 			-2: connection error to Derby Server, or
+	 * 		   > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -2; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/404a7296852b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/404a7296852b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..26eeade
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/404a7296852b001c1c41ce559ea5e16b
@@ -0,0 +1,707 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		try {
+			props.load(inProp);
+			Set<Entry(<Object>,<Object>)
+				propsSet = props.entrySet();
+			for(String prop setProps)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, prop, setProps.getP)
+				}
+				} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/e0a702ef413d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/e0a702ef413d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..eb728e4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c4/e0a702ef413d001c10b1b17ddd309e6f
@@ -0,0 +1,958 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add/{databasename") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String doPOST_importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c6/e0ce1148993d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c6/e0ce1148993d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..4158428
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c6/e0ce1148993d001c10b1b17ddd309e6f
@@ -0,0 +1,729 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c9/90298a0d4c3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c9/90298a0d4c3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..f989321
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c9/90298a0d4c3d001c10b1b17ddd309e6f
@@ -0,0 +1,975 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c9/d0aff7f2413d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c9/d0aff7f2413d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..903bafd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/c9/d0aff7f2413d001c10b1b17ddd309e6f
@@ -0,0 +1,961 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	
+	@Path("add/{databasename") 
+	@POST @Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0d50e78be8e001a1cb8a1ea083438ae b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0d50e78be8e001a1cb8a1ea083438ae
new file mode 100644
index 0000000..234e173
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0d50e78be8e001a1cb8a1ea083438ae
@@ -0,0 +1,67 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>tests</artifactId>
+  <version>0.1</version>
+  <!--  >packaging>war</packaging-->
+  <name>Json Test Methods</name>
+  
+  <description>Tests for Json Parsing</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>com.fasterxml.jackson.core</groupId>
+    <artifactId>jackson-core</artifactId>
+    <version>2.9.6</version>
+    <scope>compile</scope>
+   </dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-annotations</artifactId>
+	  <version>2.9.6</version>
+	</dependency>
+	<dependency>
+	  <groupId>com.fasterxml.jackson.core</groupId>
+	  <artifactId>jackson-databind</artifactId>
+	  <version>2.9.6</version>
+	  <scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>de.korap.json</groupId>
+		<artifactId>JsonTraverse</artifactId>
+		<version>0.1-SNAPSHOT</version>
+	</dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+    <finalName>TestGlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/cb/e07012e3941a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/cb/e07012e3941a001a19b2875de0272c6c
new file mode 100644
index 0000000..049d0e0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/cb/e07012e3941a001a19b2875de0272c6c
@@ -0,0 +1,62 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices2</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  
+  <description>RESTfull GlemmServices für KorAP</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+      <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-war-plugin</artifactId>
+         <configuration>
+           <webXml>WebContent\WEB-INF\web.xml</webXml>
+         </configuration>
+       </plugin>
+    </plugins>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d/3064b403122c001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d/3064b403122c001c1c41ce559ea5e16b
new file mode 100644
index 0000000..399572f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d/3064b403122c001c1c41ce559ea5e16b
@@ -0,0 +1,719 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "GlemmServices.properties";
+		// read test
+		props = new Properties();
+		
+				
+		//getServletContext(.)
+		// httpServletRequest.setCharacterEncoding(env);
+
+		InputStream
+			//inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+			inProp = HttpServletRequest.class.getResourceAsStream(propName);
+
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			return null;
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d0/505440c34a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d0/505440c34a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..8d3c420
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d0/505440c34a3d001c10b1b17ddd309e6f
@@ -0,0 +1,720 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	GlemmServices.fout.printf("Debug: %s: derbyDBURL='%s'.\n", func, derbyDBURL);
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d1/30beaa0d7e3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d1/30beaa0d7e3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..d5ae0bf
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d1/30beaa0d7e3d001c10b1b17ddd309e6f
@@ -0,0 +1,726 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d4/005445ac523d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d4/005445ac523d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..c760e48
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d4/005445ac523d001c10b1b17ddd309e6f
@@ -0,0 +1,983 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 *             encoded as ".home.user.KorAP....", must be converted to
+	 *             "/home/user/KorAP/..."
+	 *             IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d7/60ccfb70543d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d7/60ccfb70543d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..b666413
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/d7/60ccfb70543d001c10b1b17ddd309e6f
@@ -0,0 +1,718 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e0/1037b5e74a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e0/1037b5e74a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..3b52cbc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e0/1037b5e74a3d001c10b1b17ddd309e6f
@@ -0,0 +1,975 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Info : %s: database path ='%s'.\n", func, dbpath);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e1/605ba6164d3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e1/605ba6164d3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..7472a72
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e1/605ba6164d3d001c10b1b17ddd309e6f
@@ -0,0 +1,974 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e4/405e8f83112c001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e4/405e8f83112c001c1c41ce559ea5e16b
new file mode 100644
index 0000000..cf843fc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/e4/405e8f83112c001c1c41ce559ea5e16b
@@ -0,0 +1,719 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "/GlemmServices.properties";
+		// read test
+		props = new Properties();
+		
+				
+		//getServletContext(.)
+		// httpServletRequest.setCharacterEncoding(env);
+
+		InputStream
+			//inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+			inProp = HttpServletRequest.class.getResourceAsStream(propName);
+
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: cannot load '%s'!\n", func, propName);
+			return null;
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ea/205acb68533d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ea/205acb68533d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..57c4e35
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ea/205acb68533d001c10b1b17ddd309e6f
@@ -0,0 +1,984 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 	: the list of wfs sent in the body of the POST request.
+	 * dbpathEncoded: the location of the database where the lemma+wfs are to be stored.
+	 *             	  encoded as ".home.user.KorAP....", must be converted to
+	 *            	  "/home/user/KorAP/..."
+	 *         		  IMPORTANT: do not use a '.' for encoding anything else than a '/'.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 									list,
+							@PathParam(value="databasepath") String dbpathEncoded
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n"),
+		dbpath;
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath = dbpathEncoded.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ec/1040dfd9803c001c15e4c7a77891773f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ec/1040dfd9803c001c15e4c7a77891773f
new file mode 100644
index 0000000..5c24fcc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ec/1040dfd9803c001c15e4c7a77891773f
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+ <head>
+  <title>Wordform Services (including Glemm Services)</title>
+  <!-- load client javascript library -->
+  <!--  live-version: script src="https://korap.ids-mannheim.de/js/korap-plugin-0.2.js"
+          data-server="https://korap.ids-mannheim.de/"></script -->
+  <!--  Testversion: -->
+  <script src="https://korap.ids-mannheim.de/instance/test/js/korap-plugin-0.2.js"
+          data-server="https://korap.ids-mannheim.de/instance/test"></script>
+ </head>
+ <body>
+  <script>
+       let data = {
+         'action' : 'pipe',
+         <!-- KoralQuery mit POST Request an diesen service schicken; dahinter steht der Wordform Service, dahinter der Glemm Service. -->
+         <!-- ohne proxy: 'service' : 'http://c0r4ft.ids-mannheim.de:40913/wformServices-0.1-SNAPSHOT/wformServices/query' -->
+         <!-- mit proxy : 'service' : 'https://korap.ids-mannheim.de/proxy/c0r4ft/wformServices-0.1-SNAPSHOT/wformServices/query' -->
+         'service' : 'https://korap.ids-mannheim.de/proxy/c0r4ft/wformServices/wformServices/query'
+       };
+
+       function pluginit (p) {
+         p.onMessage = function(msg) {
+           if (msg.key == 'glemm') {
+             if (msg.value) {
+               data['job'] = 'add';
+             }
+             else {
+               data['job'] = 'del';
+             };
+             KorAPlugin.sendMsg(data);
+           };
+         };
+       };
+     </script>
+   </body>
+</html> 
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ee/10d1021daf2a001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ee/10d1021daf2a001c1c41ce559ea5e16b
new file mode 100644
index 0000000..45c0442
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ee/10d1021daf2a001c1c41ce559ea5e16b
@@ -0,0 +1,684 @@
+package de.korap.services;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		FileInputStream
+			inProp = Servlet.getResourceAsStream("GlemmServices.properties"); //new FileInput
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ef/90e36ef4872b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ef/90e36ef4872b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..4bf505b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/ef/90e36ef4872b001c1c41ce559ea5e16b
@@ -0,0 +1,714 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		String
+			propName = "GlemmServices.properties";
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream(propName);
+		if( inProp == null )
+			{
+			System.err.printf("Error: %s: format, args)
+			}
+		
+		try {
+			props.load(inProp);
+			Set<Entry<Object,Object>>
+				propsSet = props.entrySet();
+			
+			for(Entry<Object, Object> propEntry : propsSet)
+				{
+				System.out.printf("Debug: %s: prop %s = '%s'.\n", func, propEntry.getKey(), propEntry.getValue());
+				}
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f/80005a0f5d3e001c1035c1eaf38af590 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f/80005a0f5d3e001c1035c1eaf38af590
new file mode 100644
index 0000000..f2e11b1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f/80005a0f5d3e001c1035c1eaf38af590
@@ -0,0 +1,805 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	public static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting to '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connecting failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return 0; // OK
+	
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f/e00a99f9941a001a19b2875de0272c6c b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f/e00a99f9941a001a19b2875de0272c6c
new file mode 100644
index 0000000..67988b4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f/e00a99f9941a001a19b2875de0272c6c
@@ -0,0 +1,63 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>de.korap.services</groupId>
+  <artifactId>GlemmServices2</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>war</packaging>
+  <name>GlemmServices</name>
+  
+  <description>RESTfull GlemmServices für KorAP</description>
+  
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+   <dependency>
+    <groupId>javax.servlet</groupId>
+    <artifactId>servlet-api</artifactId>
+    <version>2.5</version>
+   </dependency>
+   <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
+   <dependency>
+    <groupId>javax.ws.rs</groupId>
+    <artifactId>javax.ws.rs-api</artifactId>
+    <version>2.0</version>
+   </dependency>
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.7.0</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.1</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>WebContent</warSourceDirectory>
+        </configuration>
+      </plugin>
+      <plugin>
+         <groupId>org.apache.maven.plugins</groupId>
+         <artifactId>maven-war-plugin</artifactId>
+         <configuration>
+           <webXml>WebContent\WEB-INF\web.xml</webXml>
+         </configuration>
+       </plugin>
+    </plugins>
+    <finalName>GlemmServices</finalName>
+  </build>
+  
+</project>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f3/402a56b54a3d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f3/402a56b54a3d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..edf3396
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f3/402a56b54a3d001c10b1b17ddd309e6f
@@ -0,0 +1,714 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f4/d0874886493d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f4/d0874886493d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..1ec7bbd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f4/d0874886493d001c10b1b17ddd309e6f
@@ -0,0 +1,712 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.core.Context;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace();
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * 
+	 * writeDBLemmata()
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "H�user +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB!\n", func, line);
+				nErrors++; 
+				}
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace();
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return -1;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while inserting lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		e1.printStackTrace();
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+    
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace();
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace();
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace();
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace();
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace();
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace();
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace();
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace();
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace();
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f7/e0304d29523d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f7/e0304d29523d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..9d78792
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f7/e0304d29523d001c10b1b17ddd309e6f
@@ -0,0 +1,980 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/{databasename}: text/plain
+	 * 
+	 * Parameters:
+	 * list		 : the list of wfs sent in the body of the POST request.
+	 * dbpath	 : the location of the database where the lemma+wfs are to be stored.
+	 * Notes     :
+	 * - adds a list of new wordforms to the GlemmService's Database located at 'databasename'.
+	 * - The wfs are lemmatized and the morphological data stored into a Derby database.
+	 * Input	 : wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 * 04.11.21/FB
+	 * - submitted database path.
+	 */
+	
+	@Path("add/{databasepath}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasepath") 	final String dbpath
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] 
+		arList = list.split("\n");
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = null;
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/{dbpath}");
+	
+	dbpath.replace('.', '/');
+	
+	fout.printf("Info : %s: selected database path = '%s'.\n", func, dbpath);
+	fout.printf("Info : %s: working directory = '%s'.\n", func, GS_WorkingPath);
+	
+	// set file and paths after GS_WorkingPath has been initialised:
+	p = fs.getPath(fnameWfs);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props, dbpath);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/30210976842b001c1c41ce559ea5e16b b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/30210976842b001c1c41ce559ea5e16b
new file mode 100644
index 0000000..8f345e7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/30210976842b001c1c41ce559ea5e16b
@@ -0,0 +1,700 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Properties;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "06.10.21"; //"17.06.20";
+	final private String version		= "0.1";
+	
+	final private String GS_WorkingPath = "/home/bodmer/KorAP/GlemmServices/Tests";
+	final private String fnameWfs 		= GS_WorkingPath + "/gl_wfs_in.txt";
+	final private String fnameOut 		= GS_WorkingPath + "/GlemmServices.log";
+	final private String fnameErr 		= GS_WorkingPath + "/GlemmServices.err";
+	final private String fnameScript 	= GS_WorkingPath + "/doGlemm";
+	final private String fnameLemata	= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+		final String func = "doGET_status";
+		String
+			status;
+		Utils
+			u = new Utils();
+		Properties
+			props;
+		
+		// read test
+		props = new Properties();
+		//HttpServletContext
+		
+		// httpServletRequest.setCharacterEncoding(env);
+		InputStream
+			inProp = GlemmServices.class.getClassLoader().getResourceAsStream("GlemmServices.properties");
+		
+		try {
+			props.load(inProp);
+			} 
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			System.err.printf("Error: %s: cannot load props 'GlemmServices.properties'!",  func);
+			e.printStackTrace();
+		}
+		
+		// end of read test
+		
+		// test
+		/*
+		props = new Properties();
+		
+		 * props.setProperty("p", "test");
+		 *
+		FileOutputStream out;
+		try {
+			out = new FileOutputStream("glemmServices.properties");
+			props.store(out,  "test GlemmServices properties");
+			} 
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			};
+		*/
+		
+		// end otest
+		
+		// Set Standard File output streams:
+		Utils.setStdFileStreams(fnameErr, fnameOut);
+		System.out.printf("###\n");
+		System.out.printf("API: %s: /index/status/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+		System.out.printf("###\n");
+
+		status = String.format(	"<html>\n" +
+							   	" <h3>Glemm Services</h3>\n" +
+							   	" <p><b>Version</b> : %s</p>" +
+								" <p><b>Version date</b> : %s</p>" +
+								" <p><b>status</b>  : ready.</p>" +
+								" <p><b>Request time</b>: %s</p>" +
+								"</html>",
+								version,
+								versionDate,
+								LocalDateTime.now());
+
+		System.out.printf("Debug: %s: done.\n", func);
+		return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	@Path("add") @POST @Consumes("text/plain") @Produces("text/html")
+	 
+	public String importLemmaData(String list) 
+	 
+	{
+	final String
+		func = "importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/add/ : version='%s', date='%s'.\n", func, version, versionDate);
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    System.out.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(System.err);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausf�hrung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   "<h2>List ist:</h2>\n" + list + 
+		   "<h2>Endoflist</h2>" +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata);
+	
+	System.out.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	System.out.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now());
+
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	}
+
+	/* viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String viewDbInfo() 
+	 
+	{
+	final String
+		func = "viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(version vom " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	System.out.printf("Debug: %s: /index/info/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	return returnHeader + table + returnTrailer;  
+	} // viewDBInfo
+
+
+	/* viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>(version vom " + versionDate + " - Status: <i>Work in progress...!</i>)</h4>\n";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+
+	System.out.printf("Debug: %s: lemma='%s' options='%s'.\n", func, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( !options.equals("undef"))
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemma, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1/prop2/spec set directly.</th></tr>\n", lemmaInfo.lemma);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 24.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("application/json")
+	 
+	public Response viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	{
+	final String
+		func = "viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: GlemmServices %s: lemma='%s' options='%s'.\n", func, versionDate, lemma, options);
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	System.out.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	
+	// Set Standard File output streams:
+	Utils.setStdFileStreams(fnameErr, fnameOut);
+	System.out.printf("Debug: %s: /index/info/lemma/ : version='%s', date='%s', requested='%s'.\n", func, version, versionDate, LocalDateTime.now());
+	System.out.printf("Debug: %s: starting time: %s.\n", func, LocalDateTime.now());
+	System.out.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+	
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		System.err.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnContent;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	
+	dbInfo = GlemmDB.readDbInfos();
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//System.out.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		//System.out.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				System.out.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				System.out.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				System.out.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				System.out.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/40b28b10273e001c1363beb932ae63a1 b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/40b28b10273e001c1363beb932ae63a1
new file mode 100644
index 0000000..98d7f21
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/40b28b10273e001c1363beb932ae63a1
@@ -0,0 +1,806 @@
+package de.korap.services;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.time.LocalDateTime;
+import java.util.Properties;
+
+import de.korap.services.utils.Utils;
+
+public class GlemmDB
+
+{
+	static public String dbTable 	= "GlemmLemmata";
+	static String dbLemma 		 	= "lemma";
+	static String dbWf	 			= "wf";
+	static String dbProp1 			= "prop1";
+	static String dbProp2 			= "prop2";
+
+	// Derby Database access (overwritten by GlemmServices.properties):
+	private static String fnameDB = "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB";
+	private static String serverHost = "//localhost:1527/";
+	private static String derbyDBURL = "jdbc:derby:" + serverHost + fnameDB;
+	// Derby Database access (final assignments):
+	final private  String derbyDriverEmb = "org.apache.derby.jdbc.EmbeddedDriver";
+	final private  String derbyDriverClient = "org.apache.derby.jdbc.ClientDriver";
+
+	final static boolean
+		usePreparedStmt = true; // 1=use PreparedStatement and not Statement.
+	
+	// values to be inserted: lemma, wf, prop1, prop2, spec.
+	static String insertQuery = "INSERT into " + dbTable + " VALUES ('%s', '%s', '%s', '%s', '%s')";
+	static String insertPreparedQuery = "INSERT into " + dbTable + " VALUES (?, ?, ?, ?, ?)";
+	
+	// Constants of table GlemmLemmata:
+	static final int maxLemmaSize	= 64; 	// max. no. of chars, as declared in table GlemmLemmata.
+	static final int maxWfSize		= 64;	// max. no. of chars, as declared in table GlemmLemmata.
+	
+	/* variables */
+	static int nExceptStmt			= 0;	// count no. of exceptions for preparedStmt.
+	static int nExceptInsert		= 0;	// count no. of exceptions for Inserts.
+	
+	/*
+	 * set_ConstantsFromProperties
+	 * 
+	 * Arguments:
+	 * props	: Properties loaded by the GlemmServices.
+	 * Notes:
+	 * - this function loads only those Constants needed in this class.
+	 * 15.10.21/FB
+	 */
+	
+	private static void set_ConstantsFromProperties(Properties	props)
+	
+	{
+	fnameDB		 	= Utils.getConstantFromProperties(props, "fnameDB", 	"/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	serverHost		= Utils.getConstantFromProperties(props, "serverHost",	"//localhost:1527/");
+	derbyDBURL 		= "jdbc:derby:" + serverHost + fnameDB;
+			
+	} // set_ConstantsFromProperties
+	
+	/*    checkDerbyConnection:
+	 * 
+	 * check if Derby Network Server is available.
+	 * Returns: 0 (=OK) or -1 (on error).
+	 * 05.11.21/FB
+	 */
+	
+	private static int checkDerbyConnection()
+	
+	{
+	final String 
+		func = "checkDerbyConnection";
+	Connection 
+		con = null;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		} 
+	catch (SQLException e) 
+		{
+		GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	} // check_DerbyConnection
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 					importGlemmLemata
+	 * Parameters:
+	 * fn		 : absolute file name of GLEMM output [ISO8859-1] expected, not UTF-8!
+	 * props	 : Properties vom GlemmServices.properties to set constants needed
+	 * 			   in this class.
+	 * dbpath	 : location + name of database where to store lemmata+wfs.
+	 * Returns	 : 0=OK, -1: general error; > 0 : no. of lemmata not stored.
+	 * 
+	 * 10.01.20/FB
+	 * 15.10.21/FB dynamically loading constants from GlemmServices.properties.
+	 * 04.11.21/FB dbpath.
+	 * 
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static int importGlemmLemmata(String fn, Properties props, final String dbpath)
+	
+	{
+	final String
+		func = "importGlemmLemmata";
+	BufferedReader
+		in = null;
+	int
+		nErrors;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// when indexing data into the database, select the submitted dbpath,
+	// (not the one stored in the GlemmServices.properties):
+	derbyDBURL = "jdbc:derby:" + serverHost + dbpath;
+	
+	// open reader on Glemm Lemmata:
+	try {
+		GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		in = new BufferedReader(new FileReader(fn));
+		
+		nErrors = writeDBLemmata(in);
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading from '%s'!\n", func, fn);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+
+	// close Reader:
+	try {
+		in.close();
+		} 
+	catch (IOException e) {
+		nErrors = -1;
+		}
+	
+ 	if( nErrors == 0 )
+ 		GlemmServices.fout.printf("Debug: %s: Import done successfully.\n", func);
+ 	else
+ 		GlemmServices.ferr.printf("Debug: %s: Import: %d Errors!\n", func, nErrors);
+ 	
+	return nErrors; // OK
+	
+	} // importGlemmLemmata
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * 
+	 *                       writeDBLemmata()
+	 *                       
+	 * stores list of lemmata + infos into Derby db.
+	 * File format: "Lemma Decomposition Wf",
+	 *              e.g.: "Häuser +- Haus".
+	 * Returns: 0 = OK or -1: general error or > 0: no. of lemmata not stored.
+	 * 09.01.20/FB
+	 * 04.11.21/FB turn autocommit off to accelerate huge amount of insertions.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmata(BufferedReader in)
+	
+	{
+	final String 
+		func = "writeDBLemmata";
+	Connection 
+		con = null;
+	PreparedStatement
+		stmtPrep = null;
+	Statement
+		stmt 	 = null;
+	String
+		line;	
+	String[]
+		lemmaInfo;
+	int
+		nErrors = 0,
+		nInserted = 0,	// no. of lemma/wf pairs imported.
+		ret = 0; // OK.
+	boolean
+		containsSpec;
+	
+	// open Connection to Derby Database,
+	// set Autocommit = false to accelerate insertions:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		con.setAutoCommit(false);
+		GlemmServices.fout.printf("Debug: %s: connected (autoCommit=off).\n", func);
+		
+		if( usePreparedStmt )
+			stmtPrep = con.prepareStatement(insertPreparedQuery);
+		else
+			stmt = con.createStatement();
+
+		while( (line = in.readLine()) != null )
+			{
+			//System.out.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length != 3 )
+				{
+				GlemmServices.ferr.printf("Error: %s: '%s' has %d components! Expected = 3! Cannot be stored!\n", func, line, lemmaInfo.length);
+				nErrors++;
+				continue;
+				}
+			
+			// Get Info, if wordform contains special chars like '-', interpunction etc.:
+			// lemmaInfo[2] = wordform.
+			containsSpec = LemmaInfo.isWfSpecialCase(lemmaInfo[2]);
+			// store into DB:
+			if( usePreparedStmt )
+				ret = writeDBLemmaInfos_prepared(stmtPrep, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			else
+				ret = writeDBLemmaInfos(stmt, lemmaInfo[0], lemmaInfo[2], lemmaInfo[1], containsSpec);
+			
+			if( ret != 0 )
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot store lemma '%s' into DB! (ret=%d)\n", func, line, ret);
+				nErrors++; 
+				}
+			else
+				nInserted++;
+			} // while
+		} 
+	catch (IOException e) {
+		GlemmServices.ferr.printf("Error: %s: while reading Glemm lemmata+infos from file! Exit!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1; 
+		}	
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return -1;
+		}
+	finally 
+		{ 
+		try {
+			// important: now commit, as autoCommit is deactivated,
+			// this also removes database locks:
+			con.commit();
+			GlemmServices.fout.printf("Debug: %s: commit successfull.\n", func);
+			} 
+		catch (SQLException e) {
+			GlemmServices.ferr.printf("Error: %s: commit at the end of the wfs list failed!\n", func);
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		
+		try { // closing connection:
+			if( con != null ) 
+				con.close();
+			if( stmt != null ) 
+				stmt.close();
+			if( stmtPrep != null ) 
+				stmtPrep.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	GlemmServices.fout.printf("Info : %s: no. of lemmata/wf pairs inserted = %d.\n", func, nInserted);
+	
+	return nErrors; // 0=OK, >0 = no. of errors.
+	} // writeDBLemmata
+
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos_prepared:
+	 * write Lemma + Wf + Decomposition rules into Derby DB.
+	 * Notes:
+	 * - this is the version with a PreparedQuery.
+	 * Parameters:
+	 * spec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 17.01.20/FB
+	 * 05.1.21/FB reject lemma/wf > 64 chars.
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos_prepared(
+			PreparedStatement stmt, 
+			String lemma, 
+			String wf, 
+			String decomposition, 
+			boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos_prepared";
+	final boolean
+		bLog = false;
+	String
+		sqlInsert = null;
+	boolean
+		prop1, prop2;
+	int
+		n;
+	
+	// check size of wf and lemma against field size in table GlemmLemmata:
+	if( lemma.length() >= GlemmDB.maxLemmaSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: lemma rejected (> %d): '%s'!\n",
+				func, maxLemmaSize, lemma);
+		return 4;
+		}
+	if( wf.length() >= GlemmDB.maxWfSize ) 
+		{
+		GlemmServices.ferr.printf("Error: %s: wf rejected (> %d): '%s'!\n",
+				func, maxWfSize, wf);
+		return 5;
+		}
+	 
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    
+	// for loging only:
+	sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+	if( bLog )
+		GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+    // now insert new values into PreparedStatement:
+    try {
+    	stmt.setString( 1, lemma);
+        stmt.setString( 2, wf);
+        stmt.setBoolean(3, prop1);
+        stmt.setBoolean(4, prop2);
+        stmt.setBoolean(5, spec);
+        //System.out.printf("Debug: %s: prepared stmt = '%s'.\n",  func, stmt.toString());
+        }
+	catch (SQLException e1) {
+		GlemmServices.ferr.printf(	"Error: %s: while filling prepared statement with lemma='%s' wf='%s' prop1='%b' prop2='%b' spec='%b'!\n",  
+							func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptStmt <= 1 )
+			e1.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+    
+    try {
+		// execute the filled prepared statement:
+		n = stmt.executeUpdate();
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b! (n=%d)\n", 
+ 					func, lemma, wf, prop1, prop2, spec, n);
+ 			return 2;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		if( ++nExceptInsert <= 1 )
+			e.printStackTrace(GlemmServices.ferr);
+		return 3;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos_prepared
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * *
+	 * writeDBLemmaInfos:
+	 * write Lemma + Wf + Decomposition into Derby DB.
+	 * Parameters:
+	 * containsSpec : if true: lemma contains special chars like hyphen etc.
+	 * returns 0 = OK.
+	 * 10.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	private static int writeDBLemmaInfos(Statement stmt, String lemma, String wf, String decomposition, boolean spec)
+	
+	{
+	final String 
+		func = "writeDBLemmaInfos";
+	String
+		sqlInsert = null;
+	Boolean
+		prop1, prop2;
+	int
+		n;
+	
+	prop1     = decomposition.charAt(0) == '+' ? true : false;
+	prop2 	  = decomposition.charAt(1) == '+' ? true : false;
+    sqlInsert = String.format(insertQuery, lemma, wf, prop1, prop2, spec);
+    
+    GlemmServices.fout.printf("Debug: %s: sqlInsert='%s'.\n", func, sqlInsert);
+    
+	try {
+		n = stmt.executeUpdate(sqlInsert);
+ 		if( n != 1 )
+	 		{
+ 			GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+ 					func, lemma, wf, prop1, prop2, spec);
+ 			return 1;
+	 		}
+		}
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: while inserting lemma='%s' wf='%s' prop1=%b prop2=%b spec=%b!\n", 
+				func, lemma, wf, prop1, prop2, spec);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		};
+	
+	return 0; // OK
+	} // writeDBLemmaInfos
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemmaData
+	 * 
+	 * Reads wordforms for one lemma from the GlemmDB.
+	 * Input: lemma + GLEMM_OPTS_xxx (lemmatization rules).
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemmaData(LemmaInfo lemmaInfo, Properties props)
+	
+	{
+	final String 
+		func = "readDBLemmaData";
+
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		lemmaInfo.con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		lemmaInfo.stmt = lemmaInfo.con.createStatement();
+	
+		int r = readDBLemma(lemmaInfo.stmt, lemmaInfo);
+			
+		if( r != 0 )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot get data for lemma='%s' options='%s'!\n", 
+					func, lemmaInfo.lemma, lemmaInfo.optionstoString());
+			return 1;
+			}
+		} 
+	catch (SQLException e) {
+		if( lemmaInfo.con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	
+	return 0; // OK
+	
+	} // readDBLemmaData
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDBLemma
+	 * 
+	 * Reads wordforms for one lemma by accessing the GlemmDB.
+	 * Input : lemma + prop1+2 (lemmatization rules).
+	 * Output: 
+	 *  - contains a ResultSet for fetching the wordforms.
+	 * 	  This ResultSet will have be be closed with LemmaInfo.close().
+	 * 	  The no. of found wordforms is not known till we
+	 * 	  fetch all of them from ResultSet! 
+	 * 	- due to SELECT DISTINCT only uniq wf are returned.
+	 *  
+	 * 14.01.20/FB
+	 * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	static int readDBLemma(Statement stmt, LemmaInfo lemmaInfo)
+	
+	{
+	final String 
+		func = "readDBLemma";
+	String
+		sql;
+		
+	sql = String.format("SELECT DISTINCT wf from %s WHERE lemma='%s' %s %s %s", 
+			dbTable,
+			lemmaInfo.lemma,
+			lemmaInfo.prop1 == 0 ? "AND prop1='false'" :
+			lemmaInfo.prop1 == 1 ? "AND prop1='true'"  : "",
+			lemmaInfo.prop2 == 0 ? "AND prop2='false'" :
+			lemmaInfo.prop2 == 1 ? "AND prop2='true'"  : "",
+			lemmaInfo.spec  == 1 ? "AND spec='true'"   : 
+			lemmaInfo.spec  == 0 ? "AND spec='false'"  : "");
+	
+	//System.out.printf("Debug: %s: prop1=%d prop2=%d spec=%d.\n", func, lemmaInfo.prop1, lemmaInfo.prop2, lemmaInfo.spec);
+	GlemmServices.fout.printf("Debug: %s: sql = '%s'.\n", func, sql);
+
+	try {
+		lemmaInfo.res = stmt.executeQuery(sql);	
+		} 
+	catch (SQLException e) {
+		GlemmServices.ferr.printf("Error: %s: when executing sql='%s'!\n", func, sql);
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+	finally {
+		// all sql stuff are closed outside this function, so don't close them here!
+		}	
+	
+	return 0; // OK
+	
+	} // readDBLemma
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * readDbInfos
+	 * Returns General Infos about the data stored in the Glemm Database.
+	 * 10.01.20/FB
+	 * 15.10.21/FB read GlemmServices.properties.
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	public static GlemmDBInfo readDbInfos(Properties props)
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	GlemmDBInfo
+		dbInfo = null;
+	
+	// load GlemmServices properties and log them (when last param = true):
+	set_ConstantsFromProperties(props);
+	
+	// open Connection to Derby Database:
+	try {
+		GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+	
+		stmt = con.createStatement();
+	
+		dbInfo = readDbLemmataInfos(stmt);
+			
+		if( dbInfo == null )
+			{
+			GlemmServices.ferr.printf("Error: %s: cannot read General Infos from Glemm Database!\n", func);
+			}
+		} 
+	catch (SQLException e) {
+		if( con == null )
+			GlemmServices.ferr.printf("Error: %s: connection failed!\n", func);
+		else
+			GlemmServices.ferr.printf("Error: %s: cannot create stmt!\n", func);
+		e.printStackTrace(GlemmServices.ferr);
+		return null;
+		}
+	finally {
+		// closing connection:
+		try {
+			if( con != null ) con.close();
+			if( stmt != null ) stmt.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}		
+		}
+	
+	return dbInfo; // may be null.
+		
+	} // readDbInfos
+	
+	/* * * * * * * * * * * * * * * * * *
+	 * readDbLemmataInfos:
+	 * reads and returns general infos about the content 
+	 * of the Glemm Database.
+	 * Returns 0=OK or error code > 0.
+	 * 10.01.20/FB
+	 */
+	
+	private static GlemmDBInfo readDbLemmataInfos(Statement stmt)
+	
+	{
+	final String
+		func = "readDbLemmaInfos";
+	String[]
+		sql = {	"SELECT COUNT(distinct lemma) from " + dbTable ,	// counts no. of distinct lemmata.
+				"SELECT COUNT(*) from " + dbTable,					// counts total no. of stored wordforms.
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=false",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=false and prop2=true",
+				"SELECT COUNT(*) from " + dbTable + " WHERE prop1=true  and prop2=true"};
+	ResultSet
+		res = null; 
+	int[]
+		nCounts = new int[sql.length];
+	int		
+		i = 0, 
+		nDistLemmata = -1,	// no. of distinct lemmata in DB.
+		nWfs		 = -1;	// no. of wordforms in DB.
+	GlemmDBInfo
+		dbInfo = null;
+	
+	GlemmServices.fout.printf("Debug: %s: extracting agregated infos about Database contents...\n", func);
+	
+	dbInfo = new GlemmDBInfo();
+
+	// extract DB infos and return them:
+	try {
+		for(i=0; i<sql.length; i++)
+			{
+			res = stmt.executeQuery(sql[i]);
+			if( res.next() )
+				dbInfo.counts[i] = res.getInt(1); // count is in column 1.
+			else
+				{
+				GlemmServices.ferr.printf("Error: %s: cannot extract count from '%s'!\n", func, sql[i]);
+				dbInfo.counts[i] = -1;
+				}
+			}
+       
+        }
+    catch (SQLException sqlExcept)
+    	{
+    	GlemmServices.ferr.printf("Error: %s: sql='%s' failed!\n", func, sql[i]);
+        sqlExcept.printStackTrace(GlemmServices.ferr);
+        return null;
+    	}
+	finally {
+		try {
+			res.close();
+			} 
+		catch (SQLException e) {
+			e.printStackTrace(GlemmServices.ferr);
+			}
+		}
+	
+	return dbInfo; // OK
+	} // readDbLemmataInfos
+	
+	/******************** Test functions ****************************************/
+	
+	/* * * * * * * * * * *
+	 * readDbInfos_test
+	 * This is debug code written to test if we can access the Derby
+	 * Database from an external Java Programm.
+	 * 08.01.20/FB
+	 * * * * * * * * * * */
+	
+	public static int readDbInfos_test()
+	
+	{
+	final String 
+		func = "readDbInfos";
+	Connection 
+		con = null;
+	Statement
+		stmt = null;
+	String
+		insertStmt = "";
+	
+	// Connect to Derby database:
+	GlemmServices.fout.printf("Debug: %s: connecting '%s'...\n", func, derbyDBURL);
+	
+	// open Connection to Derby Database:
+	try {
+		con = DriverManager.getConnection(derbyDBURL);
+		GlemmServices.fout.printf("Debug: %s: connected.\n", func);
+		
+		// extract DB infos and return them:
+		try
+			{
+			stmt = con.createStatement();
+            String 
+            	sql = "SELECT * FROM " + dbTable;
+            ResultSet 
+            	result = stmt.executeQuery(sql);
+ 
+            GlemmServices.fout.printf("Debug: %s: table '%s':\n",  func, dbTable);
+            
+            while (result.next()) {
+            	GlemmServices.fout.printf("'%s' : '%s' : '%s' : '%s' .\n", result.getString(1),
+                		result.getString(2),
+                		result.getString(3),
+                		result.getString(4));
+        		insertStmt = insertStmt + "<p>" + result.getString(1) + " : " + result.getString(2) + " : " +
+                		     result.getString(3) + " : " + result.getString(4) + "</p>";
+            	}
+			}
+	    catch (SQLException sqlExcept)
+        	{
+	    	GlemmServices.ferr.printf("Error: %s: insertStmt='%s' failed!.\n", func, stmt);
+            sqlExcept.printStackTrace(GlemmServices.ferr);
+            con.close();
+            return 1;
+        	}
+		}
+	catch (SQLException e) 
+		{
+		e.printStackTrace();
+		GlemmServices.ferr.printf("Error: %s: connecting '%s failed!\n", func, derbyDBURL);
+		return 1;
+		}
+	
+	// closing connection:
+	try {
+		con.close();
+		} 
+	catch (SQLException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	return 0; // OK
+		
+	} // readDbInfos_test
+
+	/* * * * * * * * * * *
+	 * importGlemmLemata_test
+	 * Test Version.
+	 * 12.12.19/FB
+	 * * * * * * * * * * */
+	
+	public static int importGlemmLemmata_test(String fn)
+	
+	{
+	final String
+		func = "importGlemmLemmata_test";
+	InputStream 
+		in;
+	BufferedReader
+		in2 = null;
+	String
+		line;
+	String[]
+		lemmaInfo;
+	int
+		r;
+	
+	/*
+	 * Read Lemmata + Info from file: 
+	 */
+	GlemmServices.fout.printf("Debug: %s: reading from '%s'.\n", func, fn);
+		
+	try {
+		//in = new BufferedInputStream( new FileInputStream(fn) );
+		in2 = new BufferedReader( new FileReader(fn));
+		while( (line = in2.readLine()) != null )
+			{
+			GlemmServices.fout.printf("Debug: import: '%s'.\n", line);
+			lemmaInfo = line.split("\\s");
+			if( lemmaInfo.length == 3 )
+				GlemmServices.fout.printf("Debug: Import: lem='%s' Decomp='%s' Wf='%s'.\n", lemmaInfo[0], lemmaInfo[1], lemmaInfo[2]);
+			else
+				GlemmServices.ferr.printf("Error: importGlemmLamata: '%s' has %d components!\n", line, lemmaInfo.length);
+			}
+		} 
+	catch (FileNotFoundException e) 
+		{
+		e.printStackTrace(GlemmServices.ferr);
+		GlemmServices.ferr.printf("Error: %s: cannot open '%s'!\n", func, fn);
+		return 1;
+		} 
+	catch (IOException e) {
+		e.printStackTrace(GlemmServices.ferr);
+		return 1;
+		}
+
+	try {
+		in2.close();
+		} 
+	catch (IOException e) {
+		// TODO Auto-generated catch block
+		e.printStackTrace(GlemmServices.ferr);
+		}
+	
+	/* Check connection to Derby Database:
+	 */ 
+	r = readDbInfos_test();
+	if( r != 0 )
+		return r;
+		
+	return 0; // OK
+	
+	} // importGlemmLemmata_test
+
+}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/e0169e74483d001c10b1b17ddd309e6f b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/e0169e74483d001c10b1b17ddd309e6f
new file mode 100644
index 0000000..4f50b81
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.history/f8/e0169e74483d001c10b1b17ddd309e6f
@@ -0,0 +1,969 @@
+package de.korap.services;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.io.PrintStream;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.time.LocalDateTime;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import de.korap.services.utils.Utils;
+
+/* 0.1 : 17.06.20/FB 
+ * 0.2 : 25.10.21/FB
+ *       loging of the API Requests.
+ *       loading constants from GlemmServices.properties.
+ *       correcting calling of lemma + prop1/prop2/spec.
+ *       handling of lemmata with 'ß'.
+ * 
+ * General comments to the encoding of derivations from lemma to wfs and how they are encoded
+ * in the Derby database:
+ * 
+ * GLEMM encoding:  
+ *   _ _ : +Flex       Öle -> Öl      
+ *   + _ : +Comp       Öllampe -> Öl or Lampe (compound).
+ *   _ + : +other      Antiturnschuh -> Anti- + Turnschuh (no compound for 'Turnschuh', only prefix).
+ *   + + : +Comp+other Antiturnschuh -> Anti- + Turn + Schuh (compound for 'Schuh' + Prefix).
+ * C2 lemmatization options:
+ *   Flex  (identical to Glemm)
+ *   Comp  (identical to Glemm, includes all Flexions)
+ *   Other (identical to Glemm, includes all Flexions).
+ *   Spec  (only C2: includes all wfs with hiphen and/or some non-alphabetic ISO8859-1 chars)
+ *         E.g. Öl-Exporte, "Marken"-Öle.
+ * Derby Encoding:
+ *  prop1 	prop2	spec   	meaning in C2:
+ *  0		0		-		Flex
+ *  1		0		-		Comp
+ *  0		1		-		Other (prefix)
+ *  1		1		-		Comp + Other
+ *  -		-		0		-Spec
+ *  -		-		1		+Spec
+ * 
+ * Examples:
+ * &Schuh			: Schuh, Schuhe, ... only flexions
+ * &Schuh+comp		: Schuhe, Turnschuhe... flexions and compounds.
+ * &Schuh+other		: Schuhe, Antischuhe... flexions and prefixed wfs (no compounds).
+ * &Schuh+comp+other: Schuhe, Antischuhe, Turnschuhe, Antiturnschuhe... flexions and compounds and 
+ * 					  prefixed single wfs (Antischuhe) and prefixed compounds.
+ * &Schuh+spec		: "Anti"-Schuhe, 68ger-Schuhe... may be combined with every options: adds
+ *                    wfs with hyphen and/or non-alphabetic chars.
+ * 
+ * Conversion rules:
+ * 
+ *  &schließen -> internal search for 'schliessen',
+ *  because Glemm outputs 'ss' for 'ß'.
+ *  
+ * Character Encoding:
+ * 
+ * - When importing wfs to the Derby Database with doCurlGlemmServices/indexLemmata:
+ * 
+ *   INPUT: wordform list in [UTF-8] : UTF-8 is then converted to Lat1 for Glemm,
+ *          the output of Glemm [Lat1] is returned to the GlemmServices without reconversion
+ *          to UTF8 and imported into Derby Database unchanged.
+ *		
+ */
+
+@Path("/index")
+
+public class GlemmServices {
+	
+	final private String versionDate	= "04.11.21"; 
+	final private String version		= "0.2";
+	
+	final private String fnameProps		= "/WEB-INF/GlemmServices.properties";
+	
+	// the following constants are read from GlemmServices.properties (these are the default values):
+	private String GS_WorkingPath 		= "/home/bodmer/KorAP/GlemmServices/Tests";
+	private String fnameWfs 			= GS_WorkingPath + "/gl_wfs_in.txt";
+	private String fnameOut 			= GS_WorkingPath + "/GlemmServices.log";
+	private String fnameErr 			= GS_WorkingPath + "/GlemmServices.err";
+	private String fnameScript 			= GS_WorkingPath + "/doGlemm";
+	private String fnameLemata			= GS_WorkingPath + "/tmp/lem3.utf8";
+
+	@Context
+	private HttpServletRequest httpServletRequest;
+	@Context
+	private ServletContext servletContext;
+	
+	final private int	ACC_FORMAT_TEXT 	= 1;
+	final private int	ACC_FORMAT_JSON		= 2;
+	final private int	ACC_FORMAT_HTML		= 3;
+	
+	public static PrintStream fout	= null;
+	public static PrintStream ferr	= null;		
+		
+	/* 
+ 	 * 
+	 * - after loadProperties, sets the class variable with loaded property values.
+	 * 
+	 * 15.10.21/FB
+	 */
+	
+	private void set_ConstantsFromProperties(Properties props)
+	
+	{
+	GS_WorkingPath 	= Utils.getConstantFromProperties(props, "GS_WorkingPath", "/home/bodmer/KorAP/GlemmServices/Tests");
+	fnameWfs		= Utils.getConstantFromProperties(props, "fnameWfs", 	   "gl_wfs_in.txt");
+	fnameWfs		= GS_WorkingPath + "/" + fnameWfs;
+	fnameOut		= Utils.getConstantFromProperties(props, "fnameOut", 	   "GlemmServices.log");
+	fnameOut		= GS_WorkingPath + "/" + fnameOut;
+	fnameErr		= Utils.getConstantFromProperties(props, "fnameErr", 	   "GlemmServices.err");
+	fnameErr		= GS_WorkingPath + "/" + fnameErr;
+	fnameScript		= Utils.getConstantFromProperties(props, "fnameScript",	   "doGlemm");
+	fnameScript		= GS_WorkingPath + "/" + fnameScript;
+	fnameLemata		= Utils.getConstantFromProperties(props, "fnameLemata",    "tmp/lem3");
+	fnameLemata		= GS_WorkingPath + "/" + fnameLemata;
+	} // set_ConstantsFromProperties
+	
+	/*
+	 *  log_Request:
+	 *  
+	 *  - write info about API Request.
+	 *  Parameters:
+	 *  requestPath	: path of webapp addressed by the request.
+	 *  func		: name of the function which implements the request.
+	 *  
+	 *  19.10.21/FB
+	 */
+	
+	private void log_Request(String requestPath, String func)
+	
+	{
+	// transform "dateTtime" -> "date time":
+	
+	fout.printf("###\n");
+	fout.printf("### %s: %s : vers='%s', vdate='%s' request='%s'.\n", func, requestPath, version, versionDate, 
+						LocalDateTime.now().toString().replace("T",  " "));
+	fout.printf("###\n");
+	} // log_Request
+		
+	/* formatDbName
+	 * 
+	 * - gets name of Database used by Derby from props 
+	 *   and format it to HTML.
+	 *  
+	 * 19.10.21/FB
+	 */
+	
+	private String formatDbName(Properties props)
+	
+	{
+	String
+		dbName;
+	String
+		dbPath = Utils.getConstantFromProperties(props, "fnameDB", "/home/bodmer/KorAP/GlemmServices/Dbs/DerbyTestDB");
+	int
+		j = dbPath.lastIndexOf('/');
+	
+	if( j > 0 )
+		dbName = dbPath.substring(j+1);
+	else
+		dbName = dbPath;
+	
+	return dbName; // "<p><b>Database: " + dbName + "</b></p>\n";
+	} // formatDbName
+
+	/*
+	 * closeLogStreams:
+	 * 
+	 * - close the fout/ferr log streams.
+	 * 
+	 * 26.10.21/FB
+	 */
+	
+	private void closeLogStreams()
+	
+	{
+	if( fout != null)
+		fout.close();
+	fout = null;
+	
+	if( ferr != null )
+		ferr.close();
+	ferr = null;
+	} // closeLogStreams
+	
+	/* init_and_log_Request
+	 * 
+	 * - load GlemmServices.properties, sets GlemmServices constants
+	 *   and logs the request.
+	 * - load properties and set constants before logging anything, because
+	 *   logging will be done into the last stdout/stderr opened in glassfish's JVM,
+	 *   e.g. in the log of another Service.
+	 * 19.10.21/FB
+	 */
+	
+	private Properties init_and_log_Request(String func, String requestPath)
+	
+	{
+	String
+		realPath = servletContext.getRealPath(fnameProps);
+	
+	// load GlemmServices properties and log them (if last param = true):
+	Properties
+		props = Utils.loadProperties(servletContext.getResourceAsStream(fnameProps), fnameProps, realPath, false);
+	
+	set_ConstantsFromProperties(props);
+	
+	// open fout and ferr as replacement for stdout/stderr for use in GlemmServices.
+	// do not use or redirect System.out and System.err, as they will be redirected
+	// by other Services in the same glassfish JVM, e.g. by the WformServices.
+	fout = Utils.setLogStream(fnameOut);
+	ferr = Utils.setLogStream(fnameErr);
+	
+	//Utils.setStdFileStreams(fnameErr, fnameOut);
+	
+	log_Request(requestPath, func);
+	
+	return props;
+	} // init_and_log_Request
+
+	/* * * * * * * * * * * * * * * * * * 
+	 * 
+	 * doGET_status() on /index/status.
+	 * 
+	 * GET status of Glemm Services
+	 * 
+	 * 17.06.20/FB
+	 * 
+	 * * * * * * * * * * * * * * * * * *
+	 */
+	
+	@Path("status")
+	@GET
+	@Produces("text/html")
+	
+	public String doGET_status() 
+	
+	{
+	final String func = "doGET_status";
+	String
+		status;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/status/");
+	
+	// httpServletRequest.setCharacterEncoding(env);
+	
+	status = String.format(	"<html>\n" +
+						   	" <h3>Glemm Services</h3>\n" +
+						   	" <p><b>Version</b> : %s</p>" +
+							" <p><b>Version date</b> : %s</p>" +
+							" <p><b>status</b>  : ready.</p>" +
+							" <p><b>Request time</b>: %s</p>" +
+							" <p><b>properties</b>: %s </p>" +
+							" <p><b>database</b>: %s </p>" +
+							"</html>",
+							version,
+							versionDate,
+							LocalDateTime.now().toString().replace("T",  " "),
+							servletContext.getResourceAsStream(fnameProps) == null ? "not found" :
+								props.isEmpty() ? "empty" : "loaded",
+							formatDbName(props)
+							);
+
+	fout.printf("Debug: %s: done.\n", func);
+	closeLogStreams();
+	return status;	
+		
+	} // doGET_status
+	
+	/* ***********************************************************
+	 * 
+	 * doPOST_importLemmaData:
+	 * 
+	 * POST: /index/add/: text/plain
+	 * adds a list of new wordforms to the GlemmService's Database.
+	 * The wfs are lemmatized and the morphological data stored
+	 * into the database.
+	 * Input: wordform data expected in [UTF-8].
+	 * 25.11.19/FB
+	 */
+	
+	@Path("add/{databasename}") 
+	@POST 
+	@Consumes("text/plain") 
+	@Produces("text/html")
+	 
+	public String doPOST_importLemmaData
+							(
+							String 								list,
+							@PathParam(value="databasename") 	final String dbname
+							) 
+	 
+	{
+	final String
+		func = "doPOST_importLemmaData";
+	String[] arList = list.split("\n");
+	
+	FileSystem 
+		fs = FileSystems.getDefault();
+	java.nio.file.Path
+		p = fs.getPath(fnameWfs);
+	OutputStream 
+		os;
+	boolean
+		bDone = false;
+	String
+		msg;
+	int
+		nErrors = 0;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/add/");
+	
+	fout.printf("Debug: %s: submitted databasename='%s'.\n", func, dbname);
+	fout.printf("Debug: %s: posted list = '%s'.\n", func, list);
+	
+	// Write submitted list of wordforms to file:
+	try
+		{
+		os = Files.newOutputStream(p);
+		os.write(list.getBytes(StandardCharsets.ISO_8859_1));
+	    os.close();
+	    bDone = true;
+	    fout.printf("Debug: %s: file '%s' beschrieben.\n", func, fnameWfs);
+	    }
+	catch(IOException e)
+		{
+		e.printStackTrace(ferr);
+		}
+    
+	if( bDone )
+		msg = "<p>List written to file: " + p.toString() + "</p>";
+	else
+		msg = "<p><b>File Error: </b> cannot write to " + p.toString() + "!</p>";
+	
+	/*
+	 *  execute Glemm shell script:
+	 */
+	String
+		msgGlemmScript, msgImport;
+	int 
+		r = Utils.executeShellScript(fnameScript, fnameWfs, fout, ferr);
+	
+	if( r == 0 )
+		msgGlemmScript = "<p><b>Glemm Script:</b> Ausführung OK.</p>";
+	else
+		msgGlemmScript = "<p><b>Glemm Script:</b> Fehler aufgetreten!";
+	
+	// Build a reponse and return it:
+	if( r != 0 )
+		return 
+		   "<html>" +
+		   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+		   "<p>Version vom " + versionDate + "</p>" +
+		   "<p>Consumes = text/plain</p>" +
+		   "<p>List length =" + arList.length +
+		   msg + msgGlemmScript +
+		   "</html>"; 
+	
+	
+	// Read lemmatized data and store them into database:
+	nErrors = GlemmDB.importGlemmLemmata(fnameLemata, props);
+	
+	fout.printf("Debug: %s: importGlemmLemmata returns r=%d.\n", func, r);
+	if( nErrors == 0 )
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": OK.</p>";
+	else
+		msgImport = "<p><b>Import:</b> " + fnameLemata + ": " + nErrors + " errors!</p>";
+	
+	fout.printf("Debug: %s: ending time: %s.\n", func, LocalDateTime.now().toString().replace("T",  " "));
+
+	closeLogStreams();
+	
+	// Return Infos:
+	return 
+			   "<html>" +
+			   "<h1>GlemmServices: POST on /index/add: add List of wordforms.</h1>" +
+			   "<p>Version vom " + versionDate + "</p>" +
+			   "<p>Consumes = text/plain</p>" +
+			   "<p>List length =" + arList.length +
+			   "<h2>List ist:</h2>\n" + list + 
+			   "<h2>Endoflist</h2>" +
+			   msg + msgGlemmScript + msgImport +
+			   "</html>";
+	
+	} // doPOST_importLemmaData
+
+	/* doGET_viewDbInfo:
+	 * 
+	 * GET /index/info/: text/plain > text/html. 
+	 * Returns general infos about the current content of the
+	 * Glemm Lemma Database.
+	 * 10.01.20/FB
+	 */
+	@GET @Path("info") @Produces("text/html")
+	 
+	public String doGET_viewDbInfo() 
+	 
+	{
+	final String
+		func = "doGET_viewDbInfo";
+	int
+		i, r;
+	String
+		returnContent;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info</h1>\n" +
+						"<h4>(vers = " + versionDate + ")</h4>\n" + 
+						"<h2>Current state of the Database</h2>\n";
+	final String
+		returnTrailer = "</html>",
+		alri          = "align='right'";
+	StringBuilder
+		table = new StringBuilder();
+	String
+		msg = null;
+	GlemmDBInfo
+		dbInfo = null;
+	Properties
+		props;
+	
+	props = init_and_log_Request(func, "/index/info/");
+	
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		table.append("<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>");
+	else
+		{
+		table.append("<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n");
+	
+		for(i=0; i<dbInfo.counts.length; i++)
+			{
+			msg = String.format(Locale.GERMAN, " <tr><td><b>Anzahl %s</b></td><td %s>%,d</td></tr>\n", dbInfo.countLabels[i], alri, dbInfo.counts[i]);
+			table.append(msg);
+			}
+		table.append("</table>");
+		}
+
+	closeLogStreams();
+	
+	final String
+		dbName = String.format("<p><b>database</b>: %s</p>", formatDbName(props));
+	
+	return returnHeader + dbName + table + returnTrailer;  
+	} // doGET_viewDBInfo
+
+
+	/* doGET_viewLemmaInfoHTML:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: text/html. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * 13.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/html")
+	 
+	public String doGET_viewLemmaInfoHTML(
+			@PathParam(value="lemma") 				  	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoHTML";
+	int
+		i, r;
+	final String
+		returnHeader = 	"<html><head>\n" + 
+						" <meta charset=\"utf-8\">\n" + 
+						"</head>\n" + 
+						"<h1>GlemmServices: GET on /index/info/lemma</h1>\n" +
+						"<h4>version " + version + " vom " + versionDate + " request = '" + LocalDateTime.now().toString().replace("T",  " ") + "'</i></h4>\n" +
+						"<p><b>Query Syntax 1:</b> (C2 Options Setting)</p>" +
+						"<p><code>{lemma}</code> <b>or</b> <code>{lemma}?opts=(flex)(+comp)(+other)(+spec)</code></p>\n" +
+						"<p><b>Example:</b> <code>Öl</code> <b>or</b> <code>Öl?opts=flex+comp+other+spec</code></p>" +
+						"<p><b>Query Syntax 2:</b> (internal Options Setting)</p>" +
+						"<p><code>{lemma}?prop1=[012]&amp;prop2=[012]&amp;spec=[012]</code> (where each prop1, prop2, spec is optional).</p>\n" +
+						"<p><b>Example:</b> <code>Öl?prop1=0&amp;prop2=1&amp;spec=2</code></p>";
+	final String
+		returnTrailer = "</html>";
+	final String
+		backgroundcolor = "style=\"background-color: #E0E0E0\"";
+	StringBuilder
+		table = new StringBuilder("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n");
+	String
+		msg = null;
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}");
+	
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1='%d' prop2='%d' spec='%d'.\n", func, lemma, options, prop1, prop2, spec);
+	
+	/* 
+	for(i=0; i<lemma.length(); i++)
+		{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+		}	
+	 */
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter!\n",  func); 
+		msg = String.format("<p><b>Error:</b> options Parameter contains unknown values!</p>\n"); 
+		return returnHeader + msg + returnTrailer;
+		}
+		
+	acceptedFormat = getAcceptedFormat();
+	
+	table.append("<thead " + backgroundcolor + ">\n");
+	if( lemmaInfo.optsSetting == LemmaInfo.OPTS_SETTING_C2 ) 
+		msg = String.format("<tr><th>Lemma = '%s' &amp; options = <i>'%s'</i></th></tr>\n", lemmaInfo.lemmaOrig, lemmaInfo.optionstoString());
+	else
+		msg = String.format("<tr><th>Lemma = '%s' &amp; prop1,prop2,spec set directly.</th></tr>\n", lemmaInfo.lemmaOrig);
+
+	table.append(msg);
+	
+	msg = String.format("<tr><th><b>prop1 = <i>'%s'</i> &amp; prop2 = <i>'%s'</i> &amp; spec = <i>'%s'</i></th></tr>\n",
+			lemmaInfo.prop1 == 0 ? "-" : lemmaInfo.prop1 == 1 ? "+" : "undef", 
+			lemmaInfo.prop2 == 0 ? "-" : lemmaInfo.prop2 == 1 ? "+" : "undef",
+			lemmaInfo.spec  == 0 ? "-" : lemmaInfo.spec  == 1 ? "+" : "undef");
+	table.append(msg);
+
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// scan all wordforms and format them in the response buffer; 
+	// if an error occures, wordform will be null;
+	String 
+		wordforms = lemmaInfo.wfs2HTML();
+	
+	// close sql stuff:
+	int
+		nWfs = lemmaInfo.nWfs;
+	
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	if( lemmaInfo.nWfs == 0 )
+		wordforms = "<tr><td>keine Wortformen gefunden!</td></tr>\n";
+	else if( lemmaInfo.nWfs < 0 || wordforms == null )
+		wordforms = "<tr><td>Fehler aufgetreten: keine Wortformen gefunden!</td</tr>\n";
+	else
+		table.append("<tr><td><b>Anz. gefundene Wortformen</b> = " + lemmaInfo.nWfs + "</td></tr>\n");
+		
+	table.append("</thead>\n");
+	
+	// log outcome:
+	if( nWfs < 0 )
+		fout.printf("Error: %s: returning 0 results [HTML].\n", func);
+	else
+		fout.printf("Debug. %s: returning %d results [HTML].\n", func, nWfs);
+	
+	closeLogStreams();
+	
+	return returnHeader + table.toString() + "<tbody>\n" + wordforms + "</tbody>\n" + returnTrailer;
+	
+	} // viewLemmaInfoHTML
+	
+	/* viewLemmaInfoJSON:
+	 * 
+	 * GET /index/info/lemma/{lemma}?opts=o1+o2+o3...
+	 * where: oi... = (flex)(+comp)(+other)(+spec) in any order.
+	 * As opts is optional, flex is default.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * 
+	 * Returns: application/json. 
+	 * Returns wordforms for a submitted lemma. 
+	 * 
+	 * note:
+	 * - if Browser request: HTTPServletRequest.accept = 'text/html,...xml...'
+	 * - if WformServices request: HttpServletRequest.accept = 'application/json'.
+	 * 
+	 * 24.01.20/FB
+	 * 
+	 * - submitted URL, i.e. the requested lemma, is interpreted by glassfish as
+	 *   being ISO-8859-1 encoded. When the request is UTF-8 encoded, Umlauts and
+	 *   'ß' are mis-interpreded, leading to an erronerous request to the Derby
+	 *   database.
+	 * - Requested lemma 'lemma' has to be transformed to UTF-8 first.
+	 * - note: even when submitting the GET request by specifying 'charencode=UTF-8',
+	 *   glassfish does not convert it automatically as expected.
+	 *   
+	 *  22.10.21/FB
+	 * 
+	 * - if accept=application/json return UTF-8 (WformServices).
+	 * - else if accept=text/html do not transform character encoding (Browser).
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Consumes("application/json, text/html")
+	@Produces("application/json")
+	
+	public Response doGET_viewLemmaInfoJSON(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec ) 
+	{
+	final String
+		func = "doGET_viewLemmaInfoJSON";
+	int
+		nErrors = 0,
+		acceptedFormat = 0;
+	LemmaInfo
+		lemmaInfo;
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+	final boolean
+		bEncodeLemma = false;
+	
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");
+	
+	/* test:
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	if( bEncodeLemma )
+		{
+		// when accepting JSON, url has to be converted to UTF-8, i.e. the requested lemma:
+		try {
+			lemmaInfo = new LemmaInfo(new String(lemma.getBytes("ISO-8859-1"), "utf-8"));
+			} 
+		catch (UnsupportedEncodingException e1) {
+			e1.printStackTrace();
+			LemmaResponse
+				lemresp = new LemmaResponse();
+			return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemresp).build();
+			}
+		fout.printf("Debug: %s: lemma='%s' [UTF-8] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+	else
+		{
+		lemmaInfo = new LemmaInfo(lemma);
+		fout.printf("Debug: %s: lemma='%s' [unchanged] options='%s'.\n", func, lemmaInfo.lemmaOrig, options);
+		}
+
+	/* does not help:
+	 String
+	 	requestCharEncoding = httpServletRequest.getCharacterEncoding();
+
+	fout.printf("Debug: %s: request character encoding ='%s'.\n", func, requestCharEncoding);
+	*/
+	
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+	
+	acceptedFormat = getAcceptedFormat();
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	lemmaResp = lemmaInfo.res2JSON();
+	
+	fout.printf("Debug: %s: lemmaResp: nWfs=%d errMess='%s' list='%s'.\n", func, lemmaResp.head_nWfs, 
+						lemmaResp.head_errMess != null ? lemmaResp.head_errMess : "-",
+						lemmaResp.listofWfs);
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	/* return Lemma Response Object */
+	if( lemmaResp.head_errMess == null )
+		{
+		return Response.status(Response.Status.OK).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		//return Response.status(Response.Status.OK).entity(lemmaResp).build(); 
+		}
+	else // on errors:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+
+	} // viewLemmaInfoJSON
+	
+	/* viewLemmaInfoTEXT:
+	 * 
+	 * either:
+	 * a) GET /index/info/lemma/{lemma}?opts=(flex)(+comp)(+other)(+spec)
+	 *    this is the original C2 Glemm Option Setting and should be totally
+	 *    compatible to the way Glemm Options work in COSMAS II.
+	 * b) GET /index/info/lemma/{lemma}?(prop1=n)(&prop2=n)(&spec=n)
+	 *    this is the extended mode in KorAP which lets every flag from 
+	 *    the Glemm Lemma table be set individually;
+	 *    where n=0 : false, n=1 : true; n=2 : undef.
+	 *    
+	 * This Service expects first "opts" to be set (precedence other the 
+	 * other options) -> C2 Option Setting, or 
+	 * one of "prop1", "prop2" and "spec", in which case -> extended flag
+	 * setting is used.
+	 * 
+	 * Default is ?opts=flex.
+	 * 
+	 * E.g. /index/info/lemma/strahlen?opts=flex+other
+	 * E.g. /index/info/lemma/strahlen?prop1=0&prop2=1&spec=2
+	 * 
+	 * Notes:
+	 *          
+	 * Returns: text/plain. 
+	 * Returns only wordforms for a submitted lemma. 
+	 * 
+	 * 31.01.20/FB
+	 */
+	
+	@GET  
+	@Path("info/lemma/{lemma}") 
+	@Produces("text/plain")
+	 
+	public Response doGET_viewLemmaInfoTEXT(
+			@PathParam(value="lemma") 				 	final String lemma,
+			@QueryParam("opts")  @DefaultValue("undef")	final String options,
+			@QueryParam("prop1") @DefaultValue("3")		final int prop1,
+			@QueryParam("prop2") @DefaultValue("3")		final int prop2,
+			@QueryParam("spec")  @DefaultValue("3")		final int spec )
+	 
+	{
+	final String
+		func = "doGET_viewLemmaInfoTEXT";
+	int
+		nErrors = 0,
+		acceptedFormat = 0; // undef.
+	String
+		result = "";
+	LemmaInfo
+		lemmaInfo = new LemmaInfo(lemma);
+	LemmaResponse
+		lemmaResp = null;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/info/lemma/{lemma}?opts");	
+
+	fout.printf("Debug: %s: lemma='%s' options='%s' prop1=%d prop2=%d spec=%d.\n", 
+			func, lemma, options, prop1, prop2, spec);
+
+	/*
+	for(int i=0; i<lemma.length(); i++)
+	{
+		fout.printf("Debug: %s: char at %d = '%c' = [%d].\n", func, i, lemma.charAt(i), lemma.codePointAt(i));
+	}
+	*/
+	acceptedFormat = getAcceptedFormat();
+		
+	nErrors = lemmaInfo.parseAllOptions(options, prop1, prop2, spec);
+	
+	if( nErrors != 0 )
+		{
+		ferr.printf("Error: %s: Errors in options Parameter: '%s'!\n",  func, options); 
+		LemmaResponse
+			lemRespErr = new LemmaResponse();
+		lemRespErr.head_errMess = String.format("Error: %s: options Parameter contains unknown values: '%s'!\n", func, options);
+		
+		return Response.status(Response.Status.BAD_REQUEST).type(MediaType.APPLICATION_JSON).entity(lemRespErr).build(); 
+		}
+		
+	
+	// extract lemmata from GlemmDB:
+	GlemmDB.readDBLemmaData(lemmaInfo, props);
+	
+	// transform SQL Response to JSON Response:
+	switch(acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		result = lemmaInfo.res2TEXT();
+		break;
+	case ACC_FORMAT_JSON:
+		// transform SQL Response to JSON Response:
+		lemmaResp = lemmaInfo.res2JSON();
+		break;
+	case ACC_FORMAT_HTML:
+		// not implemented here, see viewLemmaInfoHTML().
+		result = null;
+		break;
+	default:
+		result = lemmaInfo.res2TEXT();
+		}
+	
+	// close:
+	if( lemmaInfo != null )
+		lemmaInfo.close();
+	
+	closeLogStreams();
+	
+	switch( acceptedFormat)
+		{
+	case ACC_FORMAT_TEXT:
+		/* return Lemma Response Object */
+		if( result != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.TEXT_PLAIN).entity(result).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR).type(MediaType.TEXT_PLAIN).entity("").build();
+		// break;
+	
+	case ACC_FORMAT_JSON:
+		/* return Lemma Response Object */
+		if( lemmaResp.head_errMess != null )
+			return Response.status(Response.Status.ACCEPTED).type(MediaType.APPLICATION_JSON).entity(lemmaResp).build(); 
+		else// on errors:
+			return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+						.type(MediaType.APPLICATION_JSON).entity(lemmaResp).build();
+		// break;
+
+	case ACC_FORMAT_HTML:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: not implemented in this procedure!").build();
+	default:
+		return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+				.type(MediaType.APPLICATION_XML_TYPE).entity("internal error: requested Format is not known!").build();
+		}
+
+
+	} // viewLemmaInfoTEXT
+	
+	/*
+	 * Test function: 
+	 * Returns current content of Lemma Database.
+	 * 09.10.20/FB
+	 */
+	@GET @Path("test/info") @Produces("text/html")
+	 
+	public String viewDbContent() 
+	 
+	{
+	final String
+		func = "viewDbContent";
+	int
+		r;
+	String
+		returnHeader = "<html><h1>GlemmServices: GET on /index/test/info</h1>" +
+					   "<p>Version vom " + versionDate + "</p>";
+	String
+		returnTrailer = "</html>";
+	String
+		msg;
+	GlemmDBInfo
+		dbInfo;
+	Properties
+		props;
+
+	props = init_and_log_Request(func, "/index/test/info/");
+
+	dbInfo = GlemmDB.readDbInfos(props);
+	if( dbInfo == null )
+		msg = "<p><b>Fehler:</b> Inhalt der Datebank kann nicht gelesen werden!</p>";
+	else
+		msg = "<p>Alles gut.</p>";
+
+	closeLogStreams();
+	
+	return returnHeader + msg + returnTrailer;  
+	}
+	
+	/*
+	 * getAcceptedFormat
+	 * 17.02.20/FB
+	 */
+	 
+	 public int getAcceptedFormat()
+	 
+	 {
+	 final String
+	 	func = "getAcceptedFormat";
+	Enumeration<String>
+		names = httpServletRequest.getHeaderNames();
+	 
+	//fout.printf("Debug: %s: HTTP Request:\n", func);
+
+	while( names.hasMoreElements() )
+		{
+		String
+			key = (String)names.nextElement(),
+			val = (String)httpServletRequest.getHeader(key);
+		
+		fout.printf("Header: '%s' = '%s'.\n", key, val);
+		if( key.equals("accept") )
+			{
+			switch( val )
+				{
+			case "text/plain": 
+				fout.printf("accepted format = 'text/plain': ok.\n");
+				return ACC_FORMAT_TEXT;
+			case "application/json": 
+				fout.printf("accepted format = 'applic/JSON': ok.\n");
+				return ACC_FORMAT_JSON;
+			case "text/html": 
+				fout.printf("accepted format = 'applic/HTML': ok.\n");
+				return ACC_FORMAT_HTML;
+			default: 
+				fout.printf("accepted format = '%s' = unknown! Default='text/plain'.\n", val);
+				return ACC_FORMAT_TEXT;
+				}
+			}
+		}
+
+	return 0;	// something wrong.	
+
+ 	} // getAcceptedFormat	
+
+}
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.indexes/properties.index
new file mode 100644
index 0000000..7e36140
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.location
new file mode 100644
index 0000000..36d3f13
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.markers
new file mode 100644
index 0000000..c800cf9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..fa79df4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmClient/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/5b/a8/history.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/5b/a8/history.index
new file mode 100644
index 0000000..fe589bf
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/5b/a8/history.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/e4/81/3d/5e/history.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/e4/81/3d/5e/history.index
new file mode 100644
index 0000000..83cfa7c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/e4/81/3d/5e/history.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/history.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/history.index
new file mode 100644
index 0000000..834d99e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/history.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/properties.index
new file mode 100644
index 0000000..df82e8a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.location
new file mode 100644
index 0000000..eda1f94
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.markers
new file mode 100644
index 0000000..209e1bc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..0e005da
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.indexes/properties.index
new file mode 100644
index 0000000..df82e8a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.location
new file mode 100644
index 0000000..4ecb0ec
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.markers
new file mode 100644
index 0000000..a725ae7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..5cc781a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/GlemmServices2/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.indexes/properties.index
new file mode 100644
index 0000000..7e36140
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.location
new file mode 100644
index 0000000..2d84e85
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.markers
new file mode 100644
index 0000000..e4ff3fe
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..000bd62
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/JsonTraverse/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.indexes/properties.index
new file mode 100644
index 0000000..7e36140
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.location
new file mode 100644
index 0000000..1202a26
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.markers
new file mode 100644
index 0000000..93915f8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..e2d78da
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Tests/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.indexes/properties.index
new file mode 100644
index 0000000..7e36140
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.location
new file mode 100644
index 0000000..77c807f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.markers
new file mode 100644
index 0000000..2fa3807
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..a4efdb7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/Utils/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.indexes/properties.index
new file mode 100644
index 0000000..7e36140
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.location
new file mode 100644
index 0000000..b8fa1f0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.markers
new file mode 100644
index 0000000..d55f75f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..e2d78da
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServiceJar/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.indexes/5b/a8/history.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.indexes/5b/a8/history.index
new file mode 100644
index 0000000..1071239
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.indexes/5b/a8/history.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.indexes/properties.index
new file mode 100644
index 0000000..df82e8a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.location b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.location
new file mode 100644
index 0000000..51a3a1e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.location
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.markers b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.markers
new file mode 100644
index 0000000..29ed4d1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/.markers
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/org.eclipse.jdt.core/state.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/org.eclipse.jdt.core/state.dat
new file mode 100644
index 0000000..efc04cb
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.projects/wformServices/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
new file mode 100644
index 0000000..25cb955
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
new file mode 100644
index 0000000..9fc9108
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
new file mode 100644
index 0000000..6b2aaa7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/121.tree b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/121.tree
new file mode 100644
index 0000000..e129c84
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.root/121.tree
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
new file mode 100644
index 0000000..89eee31
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..91b5b01
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+description.autobuilding=false
+eclipse.preferences.version=1
+encoding=UTF-8
+version=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs
new file mode 100644
index 0000000..0ed1b3c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+prefWatchExpressions=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<watchExpressions>\r\n<expression enabled\="true" text\="jsonNode.get(&quot;f1&quot;)"/>\r\n</watchExpressions>\r\n
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
new file mode 100644
index 0000000..1370336
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
@@ -0,0 +1,9 @@
+eclipse.preferences.version=1
+org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<launchPerspectives/>\r\n
+org.eclipse.debug.ui.user_view_bindings=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<viewBindings>\r\n<view id\="org.eclipse.jdt.debug.ui.DisplayView">\r\n<perspective id\="org.eclipse.debug.ui.DebugPerspective" userAction\="opened"/>\r\n</view>\r\n<view id\="org.eclipse.debug.ui.VariableView">\r\n<perspective id\="org.eclipse.debug.ui.DebugPerspective" userAction\="closed"/>\r\n</view>\r\n<view id\="org.eclipse.debug.ui.DebugView">\r\n<perspective id\="org.eclipse.debug.ui.DebugPerspective" userAction\="closed"/>\r\n</view>\r\n<view id\="org.eclipse.debug.ui.ExpressionView">\r\n<perspective id\="org.eclipse.debug.ui.DebugPerspective" userAction\="opened"/>\r\n</view>\r\n<view id\="org.eclipse.debug.ui.BreakpointView">\r\n<perspective id\="org.eclipse.debug.ui.DebugPerspective" userAction\="opened"/>\r\n</view>\r\n<view id\="org.eclipse.ui.console.ConsoleView">\r\n<perspective id\="org.eclipse.debug.ui.DebugPerspective" userAction\="closed"/>\r\n</view>\r\n</viewBindings>\r\n
+pref_state_memento.org.eclipse.debug.ui.BreakpointView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<VariablesViewMemento org.eclipse.debug.ui.SASH_DETAILS_PART\="315" org.eclipse.debug.ui.SASH_VIEW_PART\="684">\r\n<PRESENTATION_CONTEXT_PROPERTIES IMemento.internal.id\="org.eclipse.debug.ui.BreakpointView">\r\n<BOOLEAN BOOLEAN\="true" IMemento.internal.id\="org.eclipse.debug.ui.check"/>\r\n</PRESENTATION_CONTEXT_PROPERTIES>\r\n</VariablesViewMemento>
+pref_state_memento.org.eclipse.debug.ui.DebugVieworg.eclipse.debug.ui.DebugView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<DebugViewMemento org.eclipse.debug.ui.BREADCRUMB_DROPDOWN_AUTO_EXPAND\="false"/>
+pref_state_memento.org.eclipse.debug.ui.ExpressionView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<VariablesViewMemento org.eclipse.debug.ui.SASH_DETAILS_PART\="315" org.eclipse.debug.ui.SASH_VIEW_PART\="684">\r\n<PRESENTATION_CONTEXT_PROPERTIES IMemento.internal.id\="org.eclipse.debug.ui.ExpressionView">\r\n<BOOLEAN BOOLEAN\="true" IMemento.internal.id\="PRESENTATION_SHOW_LOGICAL_STRUCTURES"/>\r\n</PRESENTATION_CONTEXT_PROPERTIES>\r\n</VariablesViewMemento>
+pref_state_memento.org.eclipse.debug.ui.VariableView=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<VariablesViewMemento org.eclipse.debug.ui.SASH_DETAILS_PART\="315" org.eclipse.debug.ui.SASH_VIEW_PART\="684">\r\n<COLUMN_SIZES IMemento.internal.id\="org.eclipse.debug.ui.VARIALBE_COLUMN_PRESENTATION.COL_VAR_VALUE" SIZE\="548"/>\r\n<COLUMN_SIZES IMemento.internal.id\="org.eclipse.debug.ui.VARIALBE_COLUMN_PRESENTATION.COL_VAR_NAME" SIZE\="232"/>\r\n<PRESENTATION_CONTEXT_PROPERTIES IMemento.internal.id\="org.eclipse.debug.ui.VariableView">\r\n<BOOLEAN BOOLEAN\="true" IMemento.internal.id\="PRESENTATION_SHOW_LOGICAL_STRUCTURES"/>\r\n</PRESENTATION_CONTEXT_PROPERTIES>\r\n</VariablesViewMemento>
+preferredDetailPanes=org.eclipse.jdt.debug.ui.DETAIL_PANE_LINE_BREAKPOINT\:org.eclipse.jdt.debug.ui.DETAIL_PANE_LINE_BREAKPOINT|DefaultDetailPane\:DefaultDetailPane|
+preferredTargets=default\:default|default,org.eclipse.wst.jsdt.chromium.debug.ui.toggleTargetId\:default|
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs
new file mode 100644
index 0000000..30a8769
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs
@@ -0,0 +1,3 @@
+GitRepositoriesView.GitDirectories=
+GitRepositoriesView.GitDirectories.relative=
+eclipse.preferences.version=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs
new file mode 100644
index 0000000..a54dde1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.logging.aeri.ide.prefs
@@ -0,0 +1,10 @@
+anonymizeMessages=false
+anonymizeStackTraces=true
+debugEnabled=false
+disableAutomaticWiringAnalysis=false
+eclipse.preferences.version=1
+reporterEmail=
+reporterName=
+resetSendMode=KEEP
+resetSendModeOn=0
+sendMode=NOTIFY
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a8499da
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,13 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.classpathVariable.JRE_LIB=C\:/Program Files/Java/jdk1.8.0_231/jre/lib/rt.jar
+org.eclipse.jdt.core.classpathVariable.JRE_SRC=C\:/Program Files/Java/jdk1.8.0_231/src.zip
+org.eclipse.jdt.core.classpathVariable.JRE_SRCROOT=
+org.eclipse.jdt.core.classpathVariable.JUNIT_HOME=C\:/Users/Admin_A&Co/.p2/pool/plugins/org.junit_4.12.0.v201504281640
+org.eclipse.jdt.core.classpathVariable.M2_REPO=C\:/Users/Franck/.m2/repository
+org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.debug.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.debug.ui.prefs
new file mode 100644
index 0000000..61ee993
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.debug.ui.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.debug.ui.ExpressionView.org.eclipse.jdt.debug.ui.show_null_entries=true
+org.eclipse.debug.ui.VariableView.org.eclipse.jdt.debug.ui.show_null_entries=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.junit.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.junit.prefs
new file mode 100644
index 0000000..31df02c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.junit.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.junit.content_assist_favorite_static_members_migrated=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
new file mode 100644
index 0000000..7ec846f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1585246498081" defaultVMConnector\="">\r\n<vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\r\n<vm id\="1585246498081" name\="jdk1.8.0_231" path\="C\:\\Program Files\\Java\\jdk1.8.0_231"/>\r\n</vmType>\r\n</vmSettings>\r\n
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..0b87a82
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,27 @@
+breadcrumb.org.eclipse.jst.j2ee.J2EEPerspective=true
+content_assist_disabled_computers=org.eclipse.jdt.ui.textProposalCategory\u0000org.eclipse.recommenders.calls.rcp.proposalCategory.templates\u0000org.eclipse.mylyn.java.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000org.eclipse.recommenders.chain.rcp.proposalCategory.chain\u0000
+content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"><lhs name\="javax.ws.rs.core.MediaType"><rhs name\="javax.ws.rs.core.MediaType"/></lhs><lhs name\="javax.ws.rs.core.Response$StatusType"><rhs name\="javax.ws.rs.core.Response$Status"/></lhs></history>
+content_assist_number_of_computers=19
+content_assist_proposals_background=255,255,255
+content_assist_proposals_foreground=0,0,0
+eclipse.preferences.version=1
+org.eclipse.jdt.internal.ui.navigator.layout=2
+org.eclipse.jdt.internal.ui.navigator.librariesnode=true
+org.eclipse.jdt.ui.formatterprofiles.version=14
+org.eclipse.jdt.ui.text.code_templates_migrated=true
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
+org.eclipse.jdt.ui.text.custom_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
+org.eclipse.jdt.ui.text.templates_migrated=true
+spelling_ignore_ampersand_in_properties=true
+spelling_ignore_digits=true
+spelling_ignore_java_strings=true
+spelling_ignore_mixed=true
+spelling_ignore_non_letters=true
+spelling_ignore_sentence=true
+spelling_ignore_single_letters=true
+spelling_ignore_upper=true
+spelling_ignore_urls=true
+spelling_locale_initialized=true
+spelling_user_dictionary_encoding=
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs
new file mode 100644
index 0000000..553bb96
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs
@@ -0,0 +1,2 @@
+areThereWebServices=false
+eclipse.preferences.version=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.jsp.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.jsp.core.prefs
new file mode 100644
index 0000000..9ca75ad
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.jsp.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jst.jsp.core.internal.java.search.JSPIndexManager=JSP Index v3.10_20180412_01
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.server.tomcat.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.server.tomcat.core.prefs
new file mode 100644
index 0000000..c76c4be
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.server.tomcat.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+locationorg.eclipse.jst.server.tomcat.runtime.90=C\:/Program Files (x86)/Java/apache-tomcat-9.0.36
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
new file mode 100644
index 0000000..67b1d96
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.m2e.discovery.pref.projects=
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
new file mode 100644
index 0000000..43e97e4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+mylyn.attention.migrated=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs
new file mode 100644
index 0000000..2a6fe50
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.mylyn.java.ui.run.count.3_10_0=1
+org.eclipse.mylyn.java.ui.run.count.3_1_0=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
new file mode 100644
index 0000000..8d462a6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 0000000..2b60c21
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+migrated.task.repositories.secure.store=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true
+org.eclipse.mylyn.tasks.ui.welcome.message=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..d2ed603
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+knownEEFragments=
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.recommenders.completion.rcp.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.recommenders.completion.rcp.prefs
new file mode 100644
index 0000000..b9bd711
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.recommenders.completion.rcp.prefs
@@ -0,0 +1,2 @@
+completion_tips_seen=org.eclipse.recommenders.completion.rcp.tips.discovery\:org.eclipse.recommenders.completion.rcp.tips.types
+eclipse.preferences.version=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.recommenders.models.rcp.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.recommenders.models.rcp.prefs
new file mode 100644
index 0000000..63c3e3e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.recommenders.models.rcp.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+ignore.download.failures=always
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs
new file mode 100644
index 0000000..aa84776
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs
@@ -0,0 +1,2 @@
+activeuserprofiles=PC-Bodmer;Team
+eclipse.preferences.version=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs
new file mode 100644
index 0000000..cec65c4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.search.defaultPerspective=org.eclipse.search.defaultPerspective.none
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs
new file mode 100644
index 0000000..56cd496
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.team.ui.first_time=false
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs
new file mode 100644
index 0000000..aa821cd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+internalWebBrowserHistory=http\://www.w3.org/pub/WWW/Protocols/|*|http\://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html\#sec10.4.7|*|http\://127.0.0.1\:54904/wse/wsexplorer/wsexplorer.jsp?|*|
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
new file mode 100644
index 0000000..51c7dc3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+overviewRuler_migration=migrated_3.1
+printMargin=true
+spellingEnabled=false
+tabWidth=3
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
new file mode 100644
index 0000000..74481b2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -0,0 +1,10 @@
+IMPORT_FILES_AND_FOLDERS_MODE=prompt
+IMPORT_FILES_AND_FOLDERS_VIRTUAL_FOLDER_MODE=prompt
+PROBLEMS_FILTERS_MIGRATE=true
+SHOW_LOCATION=true
+SHOW_LOCATION_NAME=false
+SHOW_PRODUCT_IN_TITLE=false
+eclipse.preferences.version=1
+platformState=1585245330676
+quickStart=false
+tipsAndTricks=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.monitoring.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.monitoring.prefs
new file mode 100644
index 0000000..7a6e9b9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.monitoring.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+noninteresting_thread_filter=java.*,org.eclipse.core.internal.jobs.Worker.run,org.eclipse.core.internal.jobs.WorkerPool.sleep,org.eclipse.core.internal.jobs.WorkerPool.startJob,org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run,org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run,org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent,org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run,sun.*
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
new file mode 100644
index 0000000..08076f2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+showIntro=false
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
new file mode 100644
index 0000000..f312aad
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
@@ -0,0 +1,5 @@
+//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
+//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10
+PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery;
+eclipse.preferences.version=1
+org.eclipse.ui.commands=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<org.eclipse.ui.commands/>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.html.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.html.ui.prefs
new file mode 100644
index 0000000..5421dd2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.html.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+newFileTemplateName=New HTML File (5)
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs
new file mode 100644
index 0000000..3644978
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs
@@ -0,0 +1,13 @@
+eclipse.preferences.version=1
+fontPropagated=true
+org.eclipse.jface.textfont=1|Consolas|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas;
+org.eclipse.wst.jsdt.internal.ui.navigator.layout=1
+org.eclipse.wst.jsdt.ui.editor.tab.width=
+org.eclipse.wst.jsdt.ui.formatterprofiles.version=11
+org.eclipse.wst.jsdt.ui.javadoclocations.migrated=true
+org.eclipse.wst.jsdt.ui.text.custom_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
+org.eclipse.wst.jsdt.ui.text.templates_migrated=true
+proposalOrderMigrated=true
+tabWidthPropagated=true
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.web.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.web.core.prefs
new file mode 100644
index 0000000..a79d835
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.web.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+jspIndexState=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.core.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.core.prefs
new file mode 100644
index 0000000..029fab6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+runtimes=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<runtimes>\r\n  <runtime id\="J2EE Runtime Library" location\="C\:/Program Files/Java/jre1.8.0_73" name\="J2EE Runtime Library" runtime-type-id\="org.eclipse.jst.server.core.runtimeType" timestamp\="0" vm-install-id\="1573558105663" vm-install-type-id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"/>\r\n  <runtime id\="Apache Tomcat v9.0" location\="C\:/Program Files/Java/apache-tomcat-9.0.29" name\="Apache Tomcat v9.0" runtime-type-id\="org.eclipse.jst.server.tomcat.runtime.90" timestamp\="0"/>\r\n  <runtime id\="Apache Tomcat v9.0 (2)" location\="C\:/Program Files (x86)/Java/apache-tomcat-9.0.36" name\="Apache Tomcat v9.0 (2)" runtime-type-id\="org.eclipse.jst.server.tomcat.runtime.90" timestamp\="0"/>\r\n</runtimes>\r\n
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.discovery.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.discovery.prefs
new file mode 100644
index 0000000..2d5de8d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.discovery.prefs
@@ -0,0 +1,2 @@
+cache-lastUpdatedDate=\ Fri Jun 19 2020 11\:55\:06 CEST
+eclipse.preferences.version=1
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.ui.prefs
new file mode 100644
index 0000000..286ab87
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.ui.prefs
@@ -0,0 +1,5 @@
+content_assist_number_of_computers=20
+eclipse.preferences.version=1
+hoverModifiers=combinationHover|true|0;problemHover|false|0;documentationHover|false|0;annotationHover|true|Shift;
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.ws.service.policy.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.ws.service.policy.prefs
new file mode 100644
index 0000000..6696959
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.ws.service.policy.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsiap.defaultProtocol=http\://schemas.xmlsoap.org/wsdl/soap/
+org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp.defaultProtocol=http\://schemas.xmlsoap.org/wsdl/soap/
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs
new file mode 100644
index 0000000..1af4ef7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.xml.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart.lastActivePage=1
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0501\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0501\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0501\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05010\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05010\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05010\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05011\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05011\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05011\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05012\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05012\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05012\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05013\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05013\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05013\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05014\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05014\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05014\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05015\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05015\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05015\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05016\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05016\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05016\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05017\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05017\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \05017\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0502\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0502\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0502\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0503\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0503\051.launch"
new file mode 100644
index 0000000..82b5421
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0503\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0504\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0504\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0504\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0505\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0505\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0505\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0506\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0506\051.launch"
new file mode 100644
index 0000000..13f466b
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0506\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="packag"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0507\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0507\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0507\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0508\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0508\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0508\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0509\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0509\051.launch"
new file mode 100644
index 0000000..3f32a14
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient \0509\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient.launch
new file mode 100644
index 0000000..82b5421
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmClient.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmClient}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices \0501\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices \0501\051.launch"
new file mode 100644
index 0000000..be25242
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices \0501\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmServices2}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices-Test.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices-Test.launch
new file mode 100644
index 0000000..adc7f42
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices-Test.launch
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="install"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="true"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_231"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value=""/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices.launch
new file mode 100644
index 0000000..bd0cdf3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/GlemmServices.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:GlemmServices2}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0501\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0501\051.launch"
new file mode 100644
index 0000000..fdc2f56
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0501\051.launch"
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:JsonTraverse}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0502\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0502\051.launch"
new file mode 100644
index 0000000..c3bcf06
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0502\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:JsonTraverse}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0503\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0503\051.launch"
new file mode 100644
index 0000000..48f521a
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0503\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:JsonTraverse}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0504\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0504\051.launch"
new file mode 100644
index 0000000..48f521a
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0504\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:JsonTraverse}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0505\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0505\051.launch"
new file mode 100644
index 0000000..48f521a
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse \0505\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:JsonTraverse}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse.launch
new file mode 100644
index 0000000..c3bcf06
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/JsonTraverse.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:JsonTraverse}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration.launch
new file mode 100644
index 0000000..5f40991
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/New_configuration.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/Tests"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0501\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0501\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0501\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05010\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05010\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05010\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05011\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05011\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05011\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05012\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05012\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05012\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05013\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05013\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05013\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05014\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05014\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05014\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05015\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05015\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05015\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05016\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05016\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05016\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05017\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05017\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05017\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05018\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05018\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05018\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05019\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05019\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05019\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0502\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0502\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0502\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05020\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05020\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05020\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05021\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05021\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05021\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05022\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05022\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05022\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05023\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05023\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05023\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05024\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05024\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05024\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05025\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05025\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05025\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05026\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05026\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05026\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05027\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05027\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05027\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05028\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05028\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05028\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05029\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05029\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05029\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0503\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0503\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0503\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05030\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05030\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05030\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05031\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05031\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05031\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05032\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05032\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05032\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05033\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05033\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05033\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05034\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05034\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05034\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05035\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05035\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05035\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05036\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05036\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05036\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05037\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05037\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05037\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05038\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05038\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05038\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05039\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05039\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05039\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0504\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0504\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0504\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05040\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05040\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05040\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05041\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05041\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05041\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05042\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05042\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05042\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05043\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05043\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05043\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05044\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05044\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05044\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05045\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05045\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05045\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05046\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05046\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05046\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05047\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05047\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05047\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05048\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05048\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05048\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05049\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05049\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \05049\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0505\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0505\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0505\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0506\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0506\051.launch"
new file mode 100644
index 0000000..671f4b6
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0506\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="jar"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0507\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0507\051.launch"
new file mode 100644
index 0000000..68cb9d9
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0507\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0508\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0508\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0508\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0509\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0509\051.launch"
new file mode 100644
index 0000000..9de1c81
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests \0509\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests.launch
new file mode 100644
index 0000000..8e98cac
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Project-Tests.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value=""/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Tests}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/TestJson.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/TestJson.launch
new file mode 100644
index 0000000..2c122e3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/TestJson.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/Tests/src/test/TestJson.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="test.TestJson"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/TestRunner.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/TestRunner.launch
new file mode 100644
index 0000000..bb2c554
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/TestRunner.launch
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/GlemmServices"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="junit.swingui.TestRunner"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="GlemmServices"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils \0501\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils \0501\051.launch"
new file mode 100644
index 0000000..f9d2bc6
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils \0501\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Utils}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils \0502\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils \0502\051.launch"
new file mode 100644
index 0000000..f9d2bc6
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils \0502\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Utils}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils.launch
new file mode 100644
index 0000000..f9d2bc6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/Utils.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:Utils}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0501\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0501\051.launch"
new file mode 100644
index 0000000..1d15b6d
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0501\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:wformServices}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0502\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0502\051.launch"
new file mode 100644
index 0000000..1d15b6d
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0502\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="compile"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:wformServices}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0503\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0503\051.launch"
new file mode 100644
index 0000000..e427a75
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0503\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:wformServices}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0504\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0504\051.launch"
new file mode 100644
index 0000000..e427a75
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0504\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:wformServices}"/>
+</launchConfiguration>
diff --git "a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0505\051.launch" "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0505\051.launch"
new file mode 100644
index 0000000..e427a75
--- /dev/null
+++ "b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/WformServices \0505\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:wformServices}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/wformServices.launch b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/wformServices.launch
new file mode 100644
index 0000000..e427a75
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.core/.launches/wformServices.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="package"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:wformServices}"/>
+</launchConfiguration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
new file mode 100644
index 0000000..8f9f12a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="org.eclipse.debug.ui.LAUNCH_CONFIGURATIONS_DIALOG_SECTION">
+		<item value="896" key="DIALOG_WIDTH"/>
+		<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
+		<item value=", org.eclipse.jdt.launching.localJavaApplication, org.eclipse.m2e.Maven2LaunchConfigurationType, " key="org.eclipse.debug.ui.EXPANDED_NODES"/>
+		<item value="762" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_2"/>
+		<item value="702" key="DIALOG_HEIGHT"/>
+		<item value="237" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_1"/>
+	</section>
+	<section name="org.eclipse.debug.ui.SINGLE_LAUNCH_CONFIGURATION_DIALOG_SECTION">
+		<item value="567" key="DIALOG_WIDTH"/>
+		<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
+		<item value="702" key="DIALOG_HEIGHT"/>
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
new file mode 100644
index 0000000..a554546
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchHistory>
+<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+<launchGroup id="org.eclipse.debug.ui.launchGroup.profile">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+<launchGroup id="org.eclipse.eclemma.ui.launchGroup.coverage">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+<launchGroup id="org.eclipse.ui.externaltools.launchGroup">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+<launchGroup id="org.eclipse.debug.ui.launchGroup.run">
+<mruHistory/>
+<favorites/>
+</launchGroup>
+</launchHistory>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
new file mode 100644
index 0000000..0bc11ce
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
@@ -0,0 +1,4103 @@
+<?xml version="1.0" encoding="ASCII"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmlns:ui="http://www.eclipse.org/ui/2010/UIModel/application/ui" xmi:id="_AG7M8CxQEeymybzsuL9nBA" elementId="org.eclipse.e4.legacy.ide.application" contributorURI="platform:/plugin/org.eclipse.platform" selectedElement="_AG7M8SxQEeymybzsuL9nBA" bindingContexts="_AG-QRCxQEeymybzsuL9nBA">
+  <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;workbench>&#xD;&#xA;&lt;mruList>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;Utils.java&quot; tooltip=&quot;utils/src/de/korap/services/utils/Utils.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/utils/src/de/korap/services/utils/Utils.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GlemmDB.java&quot; tooltip=&quot;GlemmServices/src/de/korap/services/GlemmDB.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmServices/src/de/korap/services/GlemmDB.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GlemmServices.java&quot; tooltip=&quot;GlemmServices/src/de/korap/services/GlemmServices.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmServices/src/de/korap/services/GlemmServices.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.m2e.editor.MavenPomEditor&quot; name=&quot;pom.xml&quot; tooltip=&quot;GlemmServices/pom.xml&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmServices/pom.xml&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.PropertiesFileEditor&quot; name=&quot;GlemmServices.properties&quot; tooltip=&quot;GlemmServices/WebContent/WEB-INF/GlemmServices.properties&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmServices/WebContent/WEB-INF/GlemmServices.properties&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.wst.html.core.htmlsource.source&quot; name=&quot;plugin.html&quot; tooltip=&quot;wformServices/WebContent/WEB-INF/plugin.html&quot;>&#xD;&#xA;&lt;persistable path=&quot;/wformServices/WebContent/WEB-INF/plugin.html&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.PropertiesFileEditor&quot; name=&quot;WformServices.properties&quot; tooltip=&quot;wformServices/WebContent/WEB-INF/WformServices.properties&quot;>&#xD;&#xA;&lt;persistable path=&quot;/wformServices/WebContent/WEB-INF/WformServices.properties&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.m2e.editor.MavenPomEditor&quot; name=&quot;pom.xml&quot; tooltip=&quot;wformServices/pom.xml&quot;>&#xD;&#xA;&lt;persistable path=&quot;/wformServices/pom.xml&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart&quot; name=&quot;web.xml&quot; tooltip=&quot;GlemmServices/WebContent/WEB-INF/web.xml&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmServices/WebContent/WEB-INF/web.xml&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart&quot; name=&quot;web.xml&quot; tooltip=&quot;wformServices/WebContent/WEB-INF/web.xml&quot;>&#xD;&#xA;&lt;persistable path=&quot;/wformServices/WebContent/WEB-INF/web.xml&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;LemmaInfo.java&quot; tooltip=&quot;GlemmServices/src/de/korap/services/LemmaInfo.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmServices/src/de/korap/services/LemmaInfo.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GlemmClient.java&quot; tooltip=&quot;GlemmClient/src/de/korap/services/glemm/client/GlemmClient.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmClient/src/de/korap/services/glemm/client/GlemmClient.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;TraversedPath.java&quot; tooltip=&quot;JsonTraverse/src/de/korap/json/TraversedPath.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/JsonTraverse/src/de/korap/json/TraversedPath.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;JsonTraverse.java&quot; tooltip=&quot;JsonTraverse/src/de/korap/json/JsonTraverse.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/JsonTraverse/src/de/korap/json/JsonTraverse.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;LemmaResponse.java&quot; tooltip=&quot;JsonTraverse/src/de/korap/services/LemmaResponse.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/JsonTraverse/src/de/korap/services/LemmaResponse.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;WordformServices.java&quot; tooltip=&quot;wformServices/src/de/korap/services/WordformServices.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/wformServices/src/de/korap/services/WordformServices.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.m2e.editor.MavenPomEditor&quot; name=&quot;pom.xml&quot; tooltip=&quot;wformServiceJar/pom.xml&quot;>&#xD;&#xA;&lt;persistable path=&quot;/wformServiceJar/pom.xml&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;WordformRewrite.java&quot; tooltip=&quot;wformServices/src/de/korap/services/WordformRewrite.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/wformServices/src/de/korap/services/WordformRewrite.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.m2e.editor.MavenPomEditor&quot; name=&quot;pom.xml&quot; tooltip=&quot;utils/pom.xml&quot;>&#xD;&#xA;&lt;persistable path=&quot;/utils/pom.xml&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;file factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GlemmDBInfo.java&quot; tooltip=&quot;GlemmServices/src/de/korap/services/GlemmDBInfo.java&quot;>&#xD;&#xA;&lt;persistable path=&quot;/GlemmServices/src/de/korap/services/GlemmDBInfo.java&quot;/>&#xD;&#xA;&lt;/file>&#xD;&#xA;&lt;/mruList>&#xD;&#xA;&lt;/workbench>"/>
+  <tags>ModelMigrationProcessor.001</tags>
+  <tags>activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration</tags>
+  <children xsi:type="basic:TrimmedWindow" xmi:id="_AG7M8SxQEeymybzsuL9nBA" elementId="IDEWindow" contributorURI="platform:/plugin/org.eclipse.platform" selectedElement="_AG7M8ixQEeymybzsuL9nBA" label="%trimmedwindow.label.eclipseSDK" x="0" y="0" width="949" height="1047">
+    <persistedState key="coolBarVisible" value="true"/>
+    <persistedState key="perspectiveBarVisible" value="true"/>
+    <persistedState key="isRestored" value="true"/>
+    <persistedState key="show_in_time" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;show_in_time>&#xD;&#xA;&lt;id IMemento.internal.id=&quot;org.eclipse.egit.ui.RepositoriesView&quot;/>&#xD;&#xA;&lt;id IMemento.internal.id=&quot;org.eclipse.ui.navigator.ProjectExplorer&quot;/>&#xD;&#xA;&lt;id IMemento.internal.id=&quot;org.eclipse.eclemma.ui.CoverageView&quot;/>&#xD;&#xA;&lt;id IMemento.internal.id=&quot;org.eclipse.ui.views.ResourceNavigator&quot;/>&#xD;&#xA;&lt;id IMemento.internal.id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot;/>&#xD;&#xA;&lt;/show_in_time>"/>
+    <persistedState key="workingSets" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;workingSets/>"/>
+    <persistedState key="aggregateWorkingSetId" value="Aggregate for window 1573558008367"/>
+    <tags>topLevel</tags>
+    <tags>shellMaximized</tags>
+    <children xsi:type="basic:PartSashContainer" xmi:id="_AG7M8ixQEeymybzsuL9nBA" selectedElement="_AG7M8yxQEeymybzsuL9nBA" horizontal="true">
+      <children xsi:type="advanced:PerspectiveStack" xmi:id="_AG7M8yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.perspectivestack" containerData="7500" selectedElement="_AG7NDSxQEeymybzsuL9nBA">
+        <children xsi:type="advanced:Perspective" xmi:id="_AG7M9CxQEeymybzsuL9nBA" elementId="org.eclipse.jst.j2ee.J2EEPerspective.&lt;Java EE>" selectedElement="_AG7M9SxQEeymybzsuL9nBA" label="&lt;Java EE>" iconURI="platform:/plugin/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_perspective.gif">
+          <persistedState key="persp.hiddenItems" value="persp.hideToolbarSC:print,persp.hideToolbarSC:org.eclipse.ui.edit.undo,persp.hideToolbarSC:org.eclipse.ui.edit.redo,persp.hideToolbarSC:org.eclipse.ui.edit.text.toggleShowSelectedElementOnly,persp.hideToolbarSC:org.eclipse.debug.ui.commands.RunToLine,persp.hideToolbarSC:org.eclipse.jdt.ui.actions.OpenProjectWizard,"/>
+          <tags>persp.actionSet:org.eclipse.mylyn.doc.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.cheatsheets.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.rse.core.search.searchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.search.searchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo</tags>
+          <tags>persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.keyBindings</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.openFiles</tags>
+          <tags>persp.actionSet:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets</tags>
+          <tags>persp.actionSet:org.eclipse.jst.j2ee.J2eeMainActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.ui.JavaActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.launchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.debugActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.NavigateActionSet</tags>
+          <tags>persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer</tags>
+          <tags>persp.viewSC:org.eclipse.wst.server.ui.ServersView</tags>
+          <tags>persp.viewSC:org.eclipse.datatools.connectivity.DataSourceExplorerNavigator</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.BookmarkView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ContentOutline</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.PropertySheet</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ResourceNavigator</tags>
+          <tags>persp.viewSC:org.eclipse.wst.common.snippets.internal.ui.SnippetsView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.AllMarkersView</tags>
+          <tags>persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+          <tags>persp.viewSC:org.eclipse.search.ui.views.SearchView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.console.ConsoleView</tags>
+          <tags>persp.showIn:org.eclipse.ui.navigator.ProjectExplorer</tags>
+          <tags>persp.actionSet:org.eclipse.wst.ws.explorer.explorer</tags>
+          <tags>persp.newWizSC:org.eclipse.m2e.core.wizards.Maven2ProjectWizard</tags>
+          <tags>persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView</tags>
+          <tags>persp.perspSC:org.eclipse.debug.ui.DebugPerspective</tags>
+          <tags>persp.perspSC:org.eclipse.jdt.ui.JavaPerspective</tags>
+          <tags>persp.perspSC:org.eclipse.ui.resourcePerspective</tags>
+          <tags>persp.perspSC:org.eclipse.wst.web.ui.webDevPerspective</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jpt.ui.wizard.newJpaProject</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jpt.ui.wizard.newEntity</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ws.creation.ui.wizard.serverwizard</tags>
+          <tags>persp.newWizSC:org.eclipse.ui.wizards.new.folder</tags>
+          <tags>persp.newWizSC:org.eclipse.ui.wizards.new.file</tags>
+          <tags>persp.actionSet:org.eclipse.wst.server.ui.internal.webbrowser.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.breakpointActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet</tags>
+          <tags>persp.showIn:org.eclipse.eclemma.ui.CoverageView</tags>
+          <tags>persp.newWizSC:org.eclipse.jpt.jpa.ui.wizard.newJpaProject</tags>
+          <tags>persp.perspSC:org.eclipse.jpt.ui.jpaPerspective</tags>
+          <children xsi:type="basic:PartSashContainer" xmi:id="_AG7M9SxQEeymybzsuL9nBA" selectedElement="_AG7M9ixQEeymybzsuL9nBA" horizontal="true">
+            <children xsi:type="basic:PartStack" xmi:id="_AG7M9ixQEeymybzsuL9nBA" elementId="topLeft" containerData="1929" selectedElement="_AG7M9yxQEeymybzsuL9nBA">
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7M9yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer" ref="_AG8bgCxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:General</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7M-CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator" toBeRendered="false" ref="_AG8b-CxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:General</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7M-SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" toBeRendered="false" ref="_AG8b-yxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Java</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7M-ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackagesView" toBeRendered="false" ref="_AG8b_ixQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Java Browsing</tags>
+              </children>
+            </children>
+            <children xsi:type="basic:PartSashContainer" xmi:id="_AG7M-yxQEeymybzsuL9nBA" containerData="8071" selectedElement="_AG7M_CxQEeymybzsuL9nBA">
+              <children xsi:type="basic:PartSashContainer" xmi:id="_AG7M_CxQEeymybzsuL9nBA" containerData="7458" selectedElement="_AG7M_SxQEeymybzsuL9nBA" horizontal="true">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7M_SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editorss" containerData="7847" ref="_AG71dyxQEeymybzsuL9nBA"/>
+                <children xsi:type="basic:PartStack" xmi:id="_AG7M_ixQEeymybzsuL9nBA" elementId="topRight" containerData="2153" selectedElement="_AG7M_yxQEeymybzsuL9nBA">
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG7M_yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline" ref="_AG8caCxQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:General</tags>
+                  </children>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG7NACxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" ref="_AG9CXixQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:Mylyn</tags>
+                  </children>
+                </children>
+              </children>
+              <children xsi:type="basic:PartStack" xmi:id="_AG7NASxQEeymybzsuL9nBA" elementId="bottomRight" containerData="2542" selectedElement="_AG7NCSxQEeymybzsuL9nBA">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NAixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.AllMarkersView" ref="_AG8b_yxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NAyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" ref="_AG8cAixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NBCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView" ref="_AG8cBSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Server</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NBSxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator" ref="_AG8cCCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Data Management</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NBixQEeymybzsuL9nBA" elementId="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" ref="_AG8cCyxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NByxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" toBeRendered="false" ref="_AG8cDCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NCCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.TaskList" toBeRendered="false" ref="_AG8cESxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NCSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" ref="_AG8cEixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NCixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.BookmarkView" toBeRendered="false" ref="_AG8cKSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NCyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" toBeRendered="false" ref="_AG8cKixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NDCxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" ref="_AG8cLSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+              </children>
+            </children>
+          </children>
+        </children>
+        <children xsi:type="advanced:Perspective" xmi:id="_AG7NDSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavaPerspective" selectedElement="_AG7NDixQEeymybzsuL9nBA" label="Java" iconURI="platform:/plugin/org.eclipse.jdt.ui/$nl$/icons/full/eview16/jperspective.png">
+          <persistedState key="persp.hiddenItems" value="persp.hideToolbarSC:print,persp.hideToolbarSC:org.eclipse.ui.edit.undo,persp.hideToolbarSC:org.eclipse.ui.edit.redo,persp.hideToolbarSC:org.eclipse.ui.edit.text.toggleShowSelectedElementOnly,persp.hideToolbarSC:org.eclipse.debug.ui.commands.RunToLine,persp.hideToolbarSC:org.eclipse.jdt.ui.actions.OpenProjectWizard,"/>
+          <tags>persp.actionSet:org.eclipse.mylyn.doc.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.cheatsheets.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.search.searchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo</tags>
+          <tags>persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.keyBindings</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.openFiles</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.launchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.ui.JavaActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.NavigateActionSet</tags>
+          <tags>persp.viewSC:org.eclipse.jdt.ui.PackageExplorer</tags>
+          <tags>persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy</tags>
+          <tags>persp.viewSC:org.eclipse.jdt.ui.SourceView</tags>
+          <tags>persp.viewSC:org.eclipse.jdt.ui.JavadocView</tags>
+          <tags>persp.viewSC:org.eclipse.search.ui.views.SearchView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.console.ConsoleView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ContentOutline</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ProblemView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ResourceNavigator</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.TaskList</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ProgressView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer</tags>
+          <tags>persp.viewSC:org.eclipse.ui.texteditor.TemplatesView</tags>
+          <tags>persp.viewSC:org.eclipse.pde.runtime.LogView</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.ui.wizards.new.folder</tags>
+          <tags>persp.newWizSC:org.eclipse.ui.wizards.new.file</tags>
+          <tags>persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard</tags>
+          <tags>persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective</tags>
+          <tags>persp.perspSC:org.eclipse.debug.ui.DebugPerspective</tags>
+          <tags>persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+          <tags>persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task</tags>
+          <tags>persp.showIn:org.eclipse.jdt.ui.PackageExplorer</tags>
+          <tags>persp.showIn:org.eclipse.team.ui.GenericHistoryView</tags>
+          <tags>persp.showIn:org.eclipse.ui.views.ResourceNavigator</tags>
+          <tags>persp.showIn:org.eclipse.ui.navigator.ProjectExplorer</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.breakpointActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet</tags>
+          <tags>persp.showIn:org.eclipse.eclemma.ui.CoverageView</tags>
+          <tags>persp.showIn:org.eclipse.egit.ui.RepositoriesView</tags>
+          <tags>persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet</tags>
+          <tags>persp.viewSC:org.eclipse.ant.ui.views.AntView</tags>
+          <tags>persp.actionSet:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets</tags>
+          <children xsi:type="basic:PartSashContainer" xmi:id="_AG7NDixQEeymybzsuL9nBA" selectedElement="_AG7NGCxQEeymybzsuL9nBA" horizontal="true">
+            <children xsi:type="basic:PartSashContainer" xmi:id="_AG7NDyxQEeymybzsuL9nBA" containerData="1460" selectedElement="_AG7NECxQEeymybzsuL9nBA">
+              <children xsi:type="basic:PartStack" xmi:id="_AG7NECxQEeymybzsuL9nBA" elementId="left" containerData="6000" selectedElement="_AG7NESxQEeymybzsuL9nBA">
+                <tags>org.eclipse.e4.primaryNavigationStack</tags>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NESxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer" ref="_AG8bgCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NEixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer" ref="_AG9CjixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Java</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NEyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" ref="_AG8b-yxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Java</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NFCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator" ref="_AG8b-CxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NFSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.ResultView" toBeRendered="false" ref="_AG9CnSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Java</tags>
+                </children>
+              </children>
+              <children xsi:type="basic:PartStack" xmi:id="_AG7NFixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewMStack" toBeRendered="false" containerData="4000">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NFyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesView" toBeRendered="false" ref="_AG9CmixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Git</tags>
+                </children>
+              </children>
+            </children>
+            <children xsi:type="basic:PartSashContainer" xmi:id="_AG7NGCxQEeymybzsuL9nBA" containerData="8540" selectedElement="_AG7NGSxQEeymybzsuL9nBA">
+              <children xsi:type="basic:PartSashContainer" xmi:id="_AG7NGSxQEeymybzsuL9nBA" containerData="7306" selectedElement="_AG7NGixQEeymybzsuL9nBA" horizontal="true">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NGixQEeymybzsuL9nBA" elementId="org.eclipse.ui.editorss" containerData="7500" ref="_AG71dyxQEeymybzsuL9nBA"/>
+                <children xsi:type="basic:PartSashContainer" xmi:id="_AG7NGyxQEeymybzsuL9nBA" containerData="2500" selectedElement="_AG7NHixQEeymybzsuL9nBA">
+                  <children xsi:type="basic:PartStack" xmi:id="_AG7NHCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasksMStack" containerData="5000" selectedElement="_AG7NHSxQEeymybzsuL9nBA">
+                    <children xsi:type="advanced:Placeholder" xmi:id="_AG7NHSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" ref="_AG9CXixQEeymybzsuL9nBA" closeable="true">
+                      <tags>View</tags>
+                      <tags>categoryTag:Mylyn</tags>
+                    </children>
+                  </children>
+                  <children xsi:type="basic:PartStack" xmi:id="_AG7NHixQEeymybzsuL9nBA" elementId="right" containerData="5000" selectedElement="_AG7NHyxQEeymybzsuL9nBA">
+                    <tags>org.eclipse.e4.secondaryNavigationStack</tags>
+                    <children xsi:type="advanced:Placeholder" xmi:id="_AG7NHyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline" ref="_AG8caCxQEeymybzsuL9nBA" closeable="true">
+                      <tags>View</tags>
+                      <tags>categoryTag:General</tags>
+                    </children>
+                    <children xsi:type="advanced:Placeholder" xmi:id="_AG7NICxQEeymybzsuL9nBA" elementId="org.eclipse.ui.texteditor.TemplatesView" toBeRendered="false" ref="_AG9CmSxQEeymybzsuL9nBA" closeable="true">
+                      <tags>View</tags>
+                      <tags>categoryTag:General</tags>
+                    </children>
+                    <children xsi:type="advanced:Placeholder" xmi:id="_AG7NISxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.views.AntView" toBeRendered="false" ref="_AG9CnixQEeymybzsuL9nBA" closeable="true">
+                      <tags>View</tags>
+                      <tags>categoryTag:Ant</tags>
+                    </children>
+                  </children>
+                </children>
+              </children>
+              <children xsi:type="basic:PartStack" xmi:id="_AG7NIixQEeymybzsuL9nBA" elementId="bottom" containerData="2694" selectedElement="_AG7NJyxQEeymybzsuL9nBA">
+                <tags>org.eclipse.e4.secondaryDataStack</tags>
+                <tags>General</tags>
+                <tags>Java</tags>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NIyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" ref="_AG8cDCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NJCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavadocView" ref="_AG9CkyxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Java</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NJSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.SourceView" ref="_AG9ClixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Java</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NJixQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" ref="_AG8cLSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NJyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" ref="_AG8cEixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NKCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.BookmarkView" toBeRendered="false" ref="_AG8cKSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NKSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" toBeRendered="false" ref="_AG8cKixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NKixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" toBeRendered="false" ref="_AG8cAixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG7NKyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.CoverageView" toBeRendered="false" ref="_AG9CsCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Java</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_pKqfEDL-Eey4hbpZgid-fw" elementId="org.eclipse.jdt.callhierarchy.view" ref="_pKp4ADL-Eey4hbpZgid-fw" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Java</tags>
+                </children>
+              </children>
+            </children>
+          </children>
+        </children>
+        <children xsi:type="advanced:Perspective" xmi:id="_AG7NLCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.DebugPerspective" selectedElement="_AG7NLSxQEeymybzsuL9nBA" label="Debug" iconURI="platform:/plugin/org.eclipse.debug.ui/$nl$/icons/full/eview16/debug_persp.png">
+          <persistedState key="persp.hiddenItems" value="persp.hideToolbarSC:print,persp.hideToolbarSC:org.eclipse.ui.edit.undo,persp.hideToolbarSC:org.eclipse.ui.edit.redo,persp.hideToolbarSC:org.eclipse.ui.edit.text.toggleShowSelectedElementOnly,persp.hideToolbarSC:org.eclipse.debug.ui.commands.RunToLine,persp.hideToolbarSC:org.eclipse.jdt.ui.actions.OpenProjectWizard,"/>
+          <tags>persp.actionSet:org.eclipse.mylyn.doc.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.cheatsheets.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.search.searchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo</tags>
+          <tags>persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.keyBindings</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.openFiles</tags>
+          <tags>persp.actionSet:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ProgressView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.texteditor.TemplatesView</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.launchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.debugActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.NavigateActionSet</tags>
+          <tags>persp.viewSC:org.eclipse.debug.ui.DebugView</tags>
+          <tags>persp.viewSC:org.eclipse.debug.ui.VariableView</tags>
+          <tags>persp.viewSC:org.eclipse.debug.ui.BreakpointView</tags>
+          <tags>persp.viewSC:org.eclipse.debug.ui.ExpressionView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ContentOutline</tags>
+          <tags>persp.viewSC:org.eclipse.ui.console.ConsoleView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ProblemView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer</tags>
+          <tags>persp.viewSC:org.eclipse.pde.runtime.LogView</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.breakpointActionSet</tags>
+          <tags>persp.perspSC:org.eclipse.wst.xml.ui.perspective</tags>
+          <tags>persp.perspSC:org.eclipse.jdt.ui.JavaPerspective</tags>
+          <tags>persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.ui.JavaActionSet</tags>
+          <tags>persp.showIn:org.eclipse.jdt.ui.PackageExplorer</tags>
+          <tags>persp.perspSC:org.eclipse.wst.jsdt.ui.JavaPerspective</tags>
+          <tags>persp.showIn:org.eclipse.wst.jsdt.ui.PackageExplorer</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet</tags>
+          <tags>persp.viewSC:org.eclipse.jdt.debug.ui.DisplayView</tags>
+          <tags>persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet</tags>
+          <tags>persp.showIn:org.eclipse.eclemma.ui.CoverageView</tags>
+          <tags>persp.showIn:org.eclipse.egit.ui.RepositoriesView</tags>
+          <tags>persp.viewSC:org.eclipse.jdt.junit.ResultView</tags>
+          <tags>persp.viewSC:org.eclipse.ant.ui.views.AntView</tags>
+          <children xsi:type="basic:PartSashContainer" xmi:id="_AG7NLSxQEeymybzsuL9nBA" selectedElement="_AG7NNSxQEeymybzsuL9nBA" horizontal="true">
+            <children xsi:type="basic:PartStack" xmi:id="_AG7NLixQEeymybzsuL9nBA" elementId="org.eclipse.debug.internal.ui.NavigatorFolderView" containerData="1736" selectedElement="_AG7NLyxQEeymybzsuL9nBA">
+              <tags>org.eclipse.e4.primaryNavigationStack</tags>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7NLyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer" ref="_AG8bgCxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:General</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7NMCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.DebugView" ref="_AG9CnyxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Debug</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7NMSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView" ref="_AG8cBSxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Server</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7NMixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer" toBeRendered="false" ref="_AG9CjixQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Java</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7NMyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" toBeRendered="false" ref="_AG8b-yxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Java</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG7NNCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.ResultView" toBeRendered="false" ref="_AG9CnSxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Java</tags>
+              </children>
+            </children>
+            <children xsi:type="basic:PartSashContainer" xmi:id="_AG7NNSxQEeymybzsuL9nBA" containerData="8264" selectedElement="_AG70CSxQEeymybzsuL9nBA">
+              <children xsi:type="basic:PartSashContainer" xmi:id="_AG70ACxQEeymybzsuL9nBA" containerData="7500" selectedElement="_AG70ASxQEeymybzsuL9nBA" horizontal="true">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70ASxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editorss" containerData="7465" ref="_AG71dyxQEeymybzsuL9nBA"/>
+                <children xsi:type="basic:PartStack" xmi:id="_AG70AixQEeymybzsuL9nBA" elementId="org.eclipse.debug.internal.ui.OutlineFolderView" containerData="2535" selectedElement="_AG70AyxQEeymybzsuL9nBA">
+                  <tags>org.eclipse.e4.secondaryNavigationStack</tags>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70AyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.VariableView" ref="_AG9CoyxQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:Debug</tags>
+                  </children>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70BCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.BreakpointView" ref="_AG9CpixQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:Debug</tags>
+                  </children>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70BSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ExpressionView" ref="_AG9CqSxQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:Debug</tags>
+                  </children>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70BixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline" toBeRendered="false" ref="_AG8caCxQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:General</tags>
+                  </children>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70ByxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" toBeRendered="false" ref="_AG8cAixQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:General</tags>
+                  </children>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70CCxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.views.AntView" toBeRendered="false" ref="_AG9CnixQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:Ant</tags>
+                  </children>
+                </children>
+              </children>
+              <children xsi:type="basic:PartStack" xmi:id="_AG70CSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.internal.ui.ToolsFolderView" containerData="2500" selectedElement="_AG70CixQEeymybzsuL9nBA">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70CixQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" ref="_AG8cEixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                  <tags>active</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70CyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" ref="_AG8cDCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70DCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.RegisterView" toBeRendered="false" ref="_AG9CoixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Debug</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70DSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.BookmarkView" toBeRendered="false" ref="_AG8cKSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70DixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" ref="_AG8cKixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70DyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.runtime.LogView" toBeRendered="false" ref="_AG9CrCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70ECxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.DisplayView" ref="_AG9CrSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Debug</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70ESxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" ref="_AG8cLSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+              </children>
+            </children>
+          </children>
+        </children>
+        <children xsi:type="advanced:Perspective" xmi:id="_AG70EixQEeymybzsuL9nBA" elementId="org.eclipse.jst.j2ee.J2EEPerspective" selectedElement="_AG70EyxQEeymybzsuL9nBA" label="Java EE" iconURI="platform:/plugin/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_perspective.gif">
+          <persistedState key="persp.hiddenItems" value="persp.hideToolbarSC:print,persp.hideToolbarSC:org.eclipse.ui.edit.undo,persp.hideToolbarSC:org.eclipse.ui.edit.redo,persp.hideToolbarSC:org.eclipse.ui.edit.text.toggleShowSelectedElementOnly,persp.hideToolbarSC:org.eclipse.debug.ui.commands.RunToLine,persp.hideToolbarSC:org.eclipse.jdt.ui.actions.OpenProjectWizard,"/>
+          <tags>persp.actionSet:org.eclipse.mylyn.doc.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.cheatsheets.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.search.searchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation</tags>
+          <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo</tags>
+          <tags>persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.keyBindings</tags>
+          <tags>persp.actionSet:org.eclipse.ui.actionSet.openFiles</tags>
+          <tags>persp.actionSet:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets</tags>
+          <tags>persp.actionSet:org.eclipse.jst.j2ee.J2eeMainActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.jdt.ui.JavaActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.launchActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.debugActionSet</tags>
+          <tags>persp.actionSet:org.eclipse.ui.NavigateActionSet</tags>
+          <tags>persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer</tags>
+          <tags>persp.viewSC:org.eclipse.wst.server.ui.ServersView</tags>
+          <tags>persp.viewSC:org.eclipse.datatools.connectivity.DataSourceExplorerNavigator</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.BookmarkView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ContentOutline</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.PropertySheet</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.ResourceNavigator</tags>
+          <tags>persp.viewSC:org.eclipse.wst.common.snippets.internal.ui.SnippetsView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.views.AllMarkersView</tags>
+          <tags>persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+          <tags>persp.viewSC:org.eclipse.search.ui.views.SearchView</tags>
+          <tags>persp.viewSC:org.eclipse.ui.console.ConsoleView</tags>
+          <tags>persp.showIn:org.eclipse.ui.navigator.ProjectExplorer</tags>
+          <tags>persp.actionSet:org.eclipse.wst.ws.explorer.explorer</tags>
+          <tags>persp.newWizSC:org.eclipse.m2e.core.wizards.Maven2ProjectWizard</tags>
+          <tags>persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet</tags>
+          <tags>persp.showIn:org.eclipse.eclemma.ui.CoverageView</tags>
+          <tags>persp.perspSC:org.eclipse.debug.ui.DebugPerspective</tags>
+          <tags>persp.perspSC:org.eclipse.jdt.ui.JavaPerspective</tags>
+          <tags>persp.perspSC:org.eclipse.ui.resourcePerspective</tags>
+          <tags>persp.perspSC:org.eclipse.wst.web.ui.webDevPerspective</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jpt.ui.wizard.newJpaProject</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard</tags>
+          <tags>persp.newWizSC:org.eclipse.jpt.ui.wizard.newEntity</tags>
+          <tags>persp.newWizSC:org.eclipse.jst.ws.creation.ui.wizard.serverwizard</tags>
+          <tags>persp.newWizSC:org.eclipse.ui.wizards.new.folder</tags>
+          <tags>persp.newWizSC:org.eclipse.ui.wizards.new.file</tags>
+          <tags>persp.actionSet:org.eclipse.wst.server.ui.internal.webbrowser.actionSet</tags>
+          <tags>persp.actionSet:org.eclipse.debug.ui.breakpointActionSet</tags>
+          <children xsi:type="basic:PartSashContainer" xmi:id="_AG70EyxQEeymybzsuL9nBA" selectedElement="_AG70GSxQEeymybzsuL9nBA" horizontal="true">
+            <children xsi:type="basic:PartStack" xmi:id="_AG70FCxQEeymybzsuL9nBA" elementId="topLeft" containerData="2500" selectedElement="_AG70FSxQEeymybzsuL9nBA">
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG70FSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer" ref="_AG8bgCxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:General</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG70FixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator" toBeRendered="false" ref="_AG8b-CxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:General</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG70FyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" toBeRendered="false" ref="_AG8b-yxQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Java</tags>
+              </children>
+              <children xsi:type="advanced:Placeholder" xmi:id="_AG70GCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackagesView" toBeRendered="false" ref="_AG8b_ixQEeymybzsuL9nBA" closeable="true">
+                <tags>View</tags>
+                <tags>categoryTag:Java Browsing</tags>
+              </children>
+            </children>
+            <children xsi:type="basic:PartSashContainer" xmi:id="_AG70GSxQEeymybzsuL9nBA" containerData="7500" selectedElement="_AG70HyxQEeymybzsuL9nBA">
+              <children xsi:type="basic:PartSashContainer" xmi:id="_AG70GixQEeymybzsuL9nBA" containerData="7000" selectedElement="_AG70GyxQEeymybzsuL9nBA" horizontal="true">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70GyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editorss" containerData="7000" ref="_AG71dyxQEeymybzsuL9nBA"/>
+                <children xsi:type="basic:PartStack" xmi:id="_AG70HCxQEeymybzsuL9nBA" elementId="topRight" containerData="3000" selectedElement="_AG70HSxQEeymybzsuL9nBA">
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70HSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline" ref="_AG8caCxQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:General</tags>
+                  </children>
+                  <children xsi:type="advanced:Placeholder" xmi:id="_AG70HixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" ref="_AG9CXixQEeymybzsuL9nBA" closeable="true">
+                    <tags>View</tags>
+                    <tags>categoryTag:Mylyn</tags>
+                  </children>
+                </children>
+              </children>
+              <children xsi:type="basic:PartStack" xmi:id="_AG70HyxQEeymybzsuL9nBA" elementId="bottomRight" containerData="3000" selectedElement="_AG70JixQEeymybzsuL9nBA">
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70ICxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.AllMarkersView" ref="_AG8b_yxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70ISxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" ref="_AG8cAixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70IixQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView" ref="_AG8cBSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:Server</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70IyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" ref="_AG8cCyxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70JCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" toBeRendered="false" ref="_AG8cDCxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70JSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.TaskList" toBeRendered="false" ref="_AG8cESxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70JixQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" ref="_AG8cEixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70JyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.BookmarkView" toBeRendered="false" ref="_AG8cKSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70KCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" toBeRendered="false" ref="_AG8cKixQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+                <children xsi:type="advanced:Placeholder" xmi:id="_AG70KSxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" toBeRendered="false" ref="_AG8cLSxQEeymybzsuL9nBA" closeable="true">
+                  <tags>View</tags>
+                  <tags>categoryTag:General</tags>
+                </children>
+              </children>
+            </children>
+          </children>
+        </children>
+      </children>
+      <children xsi:type="basic:PartStack" xmi:id="_AG70KixQEeymybzsuL9nBA" elementId="stickyFolderRight" toBeRendered="false" containerData="2500">
+        <children xsi:type="advanced:Placeholder" xmi:id="_AG70KyxQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.HelpView" toBeRendered="false" ref="_AG71cCxQEeymybzsuL9nBA" closeable="true">
+          <tags>View</tags>
+          <tags>categoryTag:Help</tags>
+        </children>
+        <children xsi:type="advanced:Placeholder" xmi:id="_AG70LCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.internal.introview" toBeRendered="false" ref="_AG71cyxQEeymybzsuL9nBA" closeable="true">
+          <tags>View</tags>
+          <tags>categoryTag:General</tags>
+        </children>
+        <children xsi:type="advanced:Placeholder" xmi:id="_AG70LSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.cheatsheets.views.CheatSheetView" toBeRendered="false" ref="_AG71dixQEeymybzsuL9nBA" closeable="true">
+          <tags>View</tags>
+          <tags>categoryTag:Help</tags>
+        </children>
+      </children>
+    </children>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG71cCxQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.HelpView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Help" iconURI="platform:/plugin/org.eclipse.help.ui/icons/view16/help_view.gif" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.help.ui.internal.views.HelpView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.help.ui"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view activeSet=&quot;Default&quot; expression=&quot;&quot; pageId=&quot;index-page&quot;/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Help</tags>
+      <menus xmi:id="_AG71cSxQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.HelpView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG71cixQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.HelpView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG71cyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.internal.introview" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Welcome" iconURI="platform:/plugin/org.eclipse.ui/icons/full/eview16/defaultview_misc.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.ViewIntroAdapterPart"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view>&#xD;&#xA;&lt;presentation currentPage=&quot;tutorials&quot; restore=&quot;true&quot;/>&#xD;&#xA;&lt;standbyPart/>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG71dCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.internal.introview">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG71dSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.internal.introview" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG71dixQEeymybzsuL9nBA" elementId="org.eclipse.ui.cheatsheets.views.CheatSheetView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Cheat Sheets" iconURI="platform:/plugin/org.eclipse.ui.cheatsheets/icons/view16/cheatsheet_view.gif" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.cheatsheets.views.CheatSheetView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.cheatsheets"/>
+      <tags>View</tags>
+      <tags>categoryTag:Help</tags>
+    </sharedElements>
+    <sharedElements xsi:type="advanced:Area" xmi:id="_AG71dyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editorss" selectedElement="_AG71eCxQEeymybzsuL9nBA">
+      <children xsi:type="basic:PartStack" xmi:id="_AG71eCxQEeymybzsuL9nBA" elementId="PartStack@4525e9e8" selectedElement="_AG71eSxQEeymybzsuL9nBA">
+        <tags>org.eclipse.e4.primaryDataStack</tags>
+        <tags>EditorStack</tags>
+        <tags>active</tags>
+        <children xsi:type="basic:Part" xmi:id="_AG71eSxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GlemmDB.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GlemmDB.java&quot; partName=&quot;GlemmDB.java&quot; title=&quot;GlemmDB.java&quot; tooltip=&quot;GlemmServices/src/de/korap/services/GlemmDB.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/GlemmServices/src/de/korap/services/GlemmDB.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;7168&quot; selectionTopPixel=&quot;3720&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+          <tags>removeOnHide</tags>
+          <tags>active</tags>
+          <tags>activeOnClose</tags>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG71eixQEeymybzsuL9nBA" elementId="#CompilationUnitEditorContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#CompilationUnitEditorContext</tags>
+            <tags>popup:org.eclipse.jdt.ui.CompilationUnitEditor.EditorContext</tags>
+            <tags>popup:#AbstractTextEditorContext</tags>
+          </menus>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG71eyxQEeymybzsuL9nBA" elementId="#CompilationUnitRulerContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#CompilationUnitRulerContext</tags>
+            <tags>popup:org.eclipse.jdt.ui.CompilationUnitEditor.RulerContext</tags>
+            <tags>popup:#AbstractTextEditorRulerContext</tags>
+          </menus>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG71fCxQEeymybzsuL9nBA" elementId="#OverviewRulerContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#OverviewRulerContext</tags>
+          </menus>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_AG71fSxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GlemmServices.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GlemmServices.java&quot; partName=&quot;GlemmServices.java&quot; title=&quot;GlemmServices.java&quot; tooltip=&quot;GlemmServices/src/de/korap/services/GlemmServices.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/GlemmServices/src/de/korap/services/GlemmServices.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;10861&quot; selectionTopPixel=&quot;5130&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+          <tags>removeOnHide</tags>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG71fixQEeymybzsuL9nBA" elementId="#CompilationUnitEditorContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#CompilationUnitEditorContext</tags>
+            <tags>popup:org.eclipse.jdt.ui.CompilationUnitEditor.EditorContext</tags>
+            <tags>popup:#AbstractTextEditorContext</tags>
+          </menus>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG8bSCxQEeymybzsuL9nBA" elementId="#CompilationUnitRulerContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#CompilationUnitRulerContext</tags>
+            <tags>popup:org.eclipse.jdt.ui.CompilationUnitEditor.RulerContext</tags>
+            <tags>popup:#AbstractTextEditorRulerContext</tags>
+          </menus>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG8bSSxQEeymybzsuL9nBA" elementId="#OverviewRulerContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#OverviewRulerContext</tags>
+          </menus>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_AG8bTSxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="WordformServices.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;WordformServices.java&quot; partName=&quot;WordformServices.java&quot; title=&quot;WordformServices.java&quot; tooltip=&quot;wformServices/src/de/korap/services/WordformServices.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/wformServices/src/de/korap/services/WordformServices.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;4826&quot; selectionTopPixel=&quot;1695&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+          <tags>removeOnHide</tags>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_AG8bSixQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="WordformRewrite.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;WordformRewrite.java&quot; partName=&quot;WordformRewrite.java&quot; title=&quot;WordformRewrite.java&quot; tooltip=&quot;wformServices/src/de/korap/services/WordformRewrite.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/wformServices/src/de/korap/services/WordformRewrite.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1834&quot; selectionTopPixel=&quot;854&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+          <tags>removeOnHide</tags>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_AG8bTixQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GlemmClient.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;GlemmClient.java&quot; partName=&quot;GlemmClient.java&quot; title=&quot;GlemmClient.java&quot; tooltip=&quot;GlemmClient/src/de/korap/services/glemm/client/GlemmClient.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/GlemmClient/src/de/korap/services/glemm/client/GlemmClient.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1002&quot; selectionTopPixel=&quot;0&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+          <tags>removeOnHide</tags>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG8bTyxQEeymybzsuL9nBA" elementId="#CompilationUnitEditorContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#CompilationUnitEditorContext</tags>
+            <tags>popup:org.eclipse.jdt.ui.CompilationUnitEditor.EditorContext</tags>
+            <tags>popup:#AbstractTextEditorContext</tags>
+          </menus>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG8bUCxQEeymybzsuL9nBA" elementId="#CompilationUnitRulerContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#CompilationUnitRulerContext</tags>
+            <tags>popup:org.eclipse.jdt.ui.CompilationUnitEditor.RulerContext</tags>
+            <tags>popup:#AbstractTextEditorRulerContext</tags>
+          </menus>
+          <menus xsi:type="menu:PopupMenu" xmi:id="_AG8bUSxQEeymybzsuL9nBA" elementId="#OverviewRulerContext">
+            <tags>menuContribution:popup</tags>
+            <tags>popup:#OverviewRulerContext</tags>
+          </menus>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_mWiZoDZ3Eeyflv_Kws4uhg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="LemmaResponse.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;LemmaResponse.java&quot; partName=&quot;LemmaResponse.java&quot; title=&quot;LemmaResponse.java&quot; tooltip=&quot;JsonTraverse/src/de/korap/services/LemmaResponse.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/JsonTraverse/src/de/korap/services/LemmaResponse.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;0&quot; selectionOffset=&quot;1934&quot; selectionTopPixel=&quot;865&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+          <tags>removeOnHide</tags>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_LcSwcDiKEey9XuKNWnJJkg" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="LemmaInfo.java" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/jcu_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot; name=&quot;LemmaInfo.java&quot; partName=&quot;LemmaInfo.java&quot; title=&quot;LemmaInfo.java&quot; tooltip=&quot;GlemmServices/src/de/korap/services/LemmaInfo.java&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/GlemmServices/src/de/korap/services/LemmaInfo.java&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;9&quot; selectionOffset=&quot;223&quot; selectionTopPixel=&quot;270&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.CompilationUnitEditor</tags>
+          <tags>removeOnHide</tags>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_Ta_lQDzQEeyuaO95dyuSjw" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GlemmServices.properties" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/obj16/file_obj.png" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.jdt.ui.PropertiesFileEditor&quot; name=&quot;GlemmServices.properties&quot; partName=&quot;GlemmServices.properties&quot; title=&quot;GlemmServices.properties&quot; tooltip=&quot;GlemmServices/WebContent/WEB-INF/GlemmServices.properties&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/GlemmServices/WebContent/WEB-INF/GlemmServices.properties&quot;/>&#xD;&#xA;&lt;editorState selectionHorizontalPixel=&quot;0&quot; selectionLength=&quot;51&quot; selectionOffset=&quot;249&quot; selectionTopPixel=&quot;0&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.jdt.ui.PropertiesFileEditor</tags>
+          <tags>removeOnHide</tags>
+        </children>
+        <children xsi:type="basic:Part" xmi:id="_pF4vgD1AEey93bLt6EB3Ag" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="GlemmServices/pom.xml" iconURI="platform:/plugin/org.eclipse.m2e.editor/icons/editor-pom.gif" closeable="true">
+          <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;editor id=&quot;org.eclipse.m2e.editor.MavenPomEditor&quot; name=&quot;pom.xml&quot; partName=&quot;GlemmServices/pom.xml&quot; title=&quot;GlemmServices/pom.xml&quot; tooltip=&quot;GlemmServices/pom.xml&quot;>&#xD;&#xA;&lt;input factoryID=&quot;org.eclipse.ui.part.FileEditorInputFactory&quot; path=&quot;/GlemmServices/pom.xml&quot;/>&#xD;&#xA;&lt;/editor>"/>
+          <tags>Editor</tags>
+          <tags>org.eclipse.m2e.editor.MavenPomEditor</tags>
+          <tags>removeOnHide</tags>
+        </children>
+      </children>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8bgCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Project Explorer" iconURI="platform:/plugin/org.eclipse.ui.navigator.resources/icons/full/eview16/resource_persp.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.navigator.resources.ProjectExplorer"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.navigator.resources"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view CommonNavigator.LINKING_ENABLED=&quot;0&quot; currentWorkingSetName=&quot;Aggregate for window 1573558008367&quot; org.eclipse.ui.navigator.resources.workingSets.showTopLevelWorkingSets=&quot;0&quot;>&#xD;&#xA;&lt;lastRecentlyUsedFilters/>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8bgSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8blCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8blSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8blixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8blyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8bmCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8bmSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8b8ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8b-CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Navigator" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.views.navigator.ResourceNavigator"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view LINK_NAVIGATOR_TO_EDITOR=&quot;0&quot; sorter=&quot;1&quot;>&#xD;&#xA;&lt;filters>&#xD;&#xA;&lt;filter element=&quot;*.class&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;filter element=&quot;.*&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;/filters>&#xD;&#xA;&lt;selection>&#xD;&#xA;&lt;element path=&quot;/GlemmServices&quot;/>&#xD;&#xA;&lt;/selection>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8b-SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8b-ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8b-yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Type Hierarchy" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/class_hi.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view hidefields=&quot;false&quot; hidelocaltypes=&quot;false&quot; hidenonpublic=&quot;false&quot; hidestatic=&quot;false&quot; input=&quot;=wformServices/src&amp;lt;de.korap.services&quot; link_editors=&quot;0&quot; mv_vertical_scroll=&quot;0&quot; orientation=&quot;3&quot; qualified_names=&quot;0&quot; ratio=&quot;350&quot; selection=&quot;=wformServices/C:\/Program Files\/Java\/jdk1.8.0_231\/jre\/lib\/rt.jar&amp;lt;java.lang(Object.class[Object&quot; showinherited=&quot;false&quot; sortbydefiningtype=&quot;false&quot; vertical_scroll=&quot;0&quot; view=&quot;2&quot; workingSetName=&quot;Aggregate for window 1573558008367&quot;/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java</tags>
+      <menus xmi:id="_AG8b_CxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8b_SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8b_ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackagesView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Packages" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/packages.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.browsing.PackagesView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java Browsing</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8b_yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.AllMarkersView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Markers" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.AllMarkersView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view PRIMARY_SORT_FIELD=&quot;org.eclipse.ui.ide.allSeverityField&quot; categoryGroup=&quot;org.eclipse.ui.ide.type&quot; markerContentGenerator=&quot;org.eclipse.ui.ide.allMarkersGenerator&quot; partName=&quot;Markers&quot;>&#xD;&#xA;&lt;expanded>&#xD;&#xA;&lt;category IMemento.internal.id=&quot;Java Build Path Problems&quot;/>&#xD;&#xA;&lt;/expanded>&#xD;&#xA;&lt;columnWidths org.eclipse.ui.ide.allSeverityField=&quot;599&quot; org.eclipse.ui.ide.locationField=&quot;90&quot; org.eclipse.ui.ide.markerType=&quot;90&quot; org.eclipse.ui.ide.pathField=&quot;120&quot; org.eclipse.ui.ide.resourceField=&quot;90&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.allSeverityField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.resourceField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.pathField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.locationField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.markerType&quot;/>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8cACxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.AllMarkersView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cASxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.AllMarkersView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cAixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Properties" iconURI="platform:/plugin/org.eclipse.ui.views/icons/full/eview16/prop_ps.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.views.properties.PropertySheet"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.views"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8cAyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cBCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cBSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Servers" iconURI="platform:/plugin/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.server.ui.internal.cnf.ServersView2"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.server.ui"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view CommonNavigator.LINKING_ENABLED=&quot;0&quot;>&#xD;&#xA;&lt;lastRecentlyUsedFilters/>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Server</tags>
+      <menus xmi:id="_AG8cBixQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cByxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cCCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Data Source Explorer" iconURI="platform:/plugin/org.eclipse.datatools.connectivity.ui.dse/icons/full/cview16/enterprise_explorer.gif" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.datatools.connectivity.ui.dse.views.DataSourceExplorerView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.datatools.connectivity.ui.dse"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Data Management</tags>
+      <menus xmi:id="_AG8cCSxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cCixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cCyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Snippets" iconURI="platform:/plugin/org.eclipse.wst.common.snippets/icons/snippets_view.gif" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.common.snippets.internal.ui.SnippetsView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.common.snippets"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cDCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Problems" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.ProblemsView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view PRIMARY_SORT_FIELD=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot; categoryGroup=&quot;org.eclipse.ui.ide.severity&quot; markerContentGenerator=&quot;org.eclipse.ui.ide.problemsGenerator&quot; partName=&quot;Problems&quot;>&#xD;&#xA;&lt;columnWidths org.eclipse.ui.ide.locationField=&quot;193&quot; org.eclipse.ui.ide.markerType=&quot;251&quot; org.eclipse.ui.ide.pathField=&quot;120&quot; org.eclipse.ui.ide.resourceField=&quot;169&quot; org.eclipse.ui.ide.severityAndDescriptionField=&quot;829&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.severityAndDescriptionField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.resourceField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.pathField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.locationField&quot;/>&#xD;&#xA;&lt;visible IMemento.internal.id=&quot;org.eclipse.ui.ide.markerType&quot;/>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8cDSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cDixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+        <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cDyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.ui.views.ProblemView</tags>
+        <tags>popup:org.eclipse.ui.ide.MarkersView</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cECxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cESxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.TaskList" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Tasks" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.TasksView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cEixQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Console" iconURI="platform:/plugin/org.eclipse.ui.console/icons/full/cview16/console_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.console.ConsoleView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.console"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8cEyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cFCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cFSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cFixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cFyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cGCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cGSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cGixQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cKSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.BookmarkView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Bookmarks" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.BookmarksView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cKixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Progress" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/pview.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.progress.ProgressView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8cKyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cLCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8cLSxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Search" iconURI="platform:/plugin/org.eclipse.search/icons/full/eview16/searchres.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.search2.internal.ui.SearchView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.search"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view isPinned=&quot;false&quot;>&#xD;&#xA;&lt;view IMemento.internal.id=&quot;&quot; org.eclipse.search.lastActivation=&quot;0&quot;/>&#xD;&#xA;&lt;view IMemento.internal.id=&quot;org.eclipse.search.text.FileSearchResultPage&quot; org.eclipse.search.lastActivation=&quot;1&quot; org.eclipse.search.resultpage.layout=&quot;2&quot; org.eclipse.search.resultpage.limit=&quot;1000&quot; org.eclipse.search.resultpage.sorting=&quot;2&quot;/>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG8cLixQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cPixQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.search.ui.views.SearchView</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cPyxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.search.ui.views.SearchView</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG8cQCxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.search.ui.views.SearchView</tags>
+      </menus>
+      <toolbar xmi:id="_AG8cQSxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG8caCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Outline" iconURI="platform:/plugin/org.eclipse.ui.views/icons/full/eview16/outline_co.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.views.contentoutline.ContentOutline"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.views"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+      <menus xmi:id="_AG9CICxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CKyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CLCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CLSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CLixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CLyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CMCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CMSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CMixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CMyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CNCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CNSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CNixQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.pomFile.source.OutlineContext">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.m2e.core.pomFile.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.m2e.editor.MavenPomEditor.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.OutlineContext</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CNyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9COCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9COSxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.pomFile.source.OutlineContext">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.m2e.core.pomFile.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.m2e.editor.MavenPomEditor.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.OutlineContext</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9COixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9COyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.html.core.htmlsource.source.OutlineContext">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.wst.html.core.htmlsource.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.wst.html.core.htmlsource.source.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.OutlineContext</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CPCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CPSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CPixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CPyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.html.core.htmlsource.source.OutlineContext">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.wst.html.core.htmlsource.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.wst.html.core.htmlsource.source.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.OutlineContext</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CQCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CQSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CQixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CQyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CRCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CRSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CRixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.outline">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.outline</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CRyxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.pomFile.source.OutlineContext">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.m2e.core.pomFile.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.m2e.editor.MavenPomEditor.source.OutlineContext</tags>
+        <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.OutlineContext</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CSCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CXixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Task List" iconURI="platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.mylyn.internal.tasks.ui.views.TaskListView"/>
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.mylyn.tasks.ui"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view linkWithEditor=&quot;true&quot; presentation=&quot;org.eclipse.mylyn.tasks.ui.categorized&quot;>&#xD;&#xA;&lt;sorter groupBy=&quot;CATEGORY_QUERY&quot;>&#xD;&#xA;&lt;sorter>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled0 sortDirection=&quot;1&quot; sortKey=&quot;DUE_DATE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled1 sortDirection=&quot;1&quot; sortKey=&quot;SCHEDULED_DATE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled2 sortDirection=&quot;1&quot; sortKey=&quot;PRIORITY&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled3 sortDirection=&quot;1&quot; sortKey=&quot;RANK&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled4 sortDirection=&quot;1&quot; sortKey=&quot;DATE_CREATED&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled5 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled6 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled7 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.scheduled8 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized0 sortDirection=&quot;1&quot; sortKey=&quot;PRIORITY&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized1 sortDirection=&quot;1&quot; sortKey=&quot;RANK&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized2 sortDirection=&quot;1&quot; sortKey=&quot;DATE_CREATED&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized3 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized4 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized5 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized6 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized7 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;sortorg.eclipse.mylyn.tasks.ui.categorized8 sortDirection=&quot;1&quot; sortKey=&quot;NONE&quot;/>&#xD;&#xA;&lt;/sorter>&#xD;&#xA;&lt;/sorter>&#xD;&#xA;&lt;filteredTreeFindHistory/>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Mylyn</tags>
+      <menus xmi:id="_AG9CXyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CdSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.menus.activeTask">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.menus.activeTask</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CdixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CdyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.menus.activeTask">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.menus.activeTask</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CeCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CeSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.menus.activeTask">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.menus.activeTask</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CeixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CeyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.menus.activeTask">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.menus.activeTask</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CfCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CfSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.menus.activeTask">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.menus.activeTask</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CfixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CfyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CjixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Package Explorer" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/package.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;Aggregate for window 1573558008367&quot;>&#xD;&#xA;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;>&#xD;&#xA;&lt;xmlDefinedFilters>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.buildship.ui.packageexplorer.filter.gradle.buildfolder&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.mylyn.java.ui.MembersFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.m2e.MavenModuleFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.buildship.ui.packageexplorer.filter.gradle.subProject&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.DeprecatedMembersFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/>&#xD;&#xA;&lt;/xmlDefinedFilters>&#xD;&#xA;&lt;/customFilters>&#xD;&#xA;&lt;/view>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java</tags>
+      <menus xmi:id="_AG9CjyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CkCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+      </menus>
+      <menus xsi:type="menu:PopupMenu" xmi:id="_AG9CkSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer">
+        <tags>menuContribution:popup</tags>
+        <tags>popup:org.eclipse.jdt.ui.PackageExplorer</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CkixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CkyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavadocView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Javadoc" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/javadoc.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.infoviews.JavadocView"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java</tags>
+      <menus xmi:id="_AG9ClCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavadocView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9ClSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavadocView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9ClixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.SourceView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Declaration" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/source.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.infoviews.SourceView"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java</tags>
+      <menus xmi:id="_AG9ClyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.SourceView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CmCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.SourceView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CmSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.texteditor.TemplatesView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Templates" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/templates.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.texteditor.templates.TemplatesView"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CmixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Git Repositories" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/repo_rep.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.egit.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.egit.ui.internal.repository.RepositoriesView"/>
+      <tags>View</tags>
+      <tags>categoryTag:Git</tags>
+      <menus xmi:id="_AG9CmyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CnCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CnSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.ResultView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="JUnit" iconURI="platform:/plugin/org.eclipse.jdt.junit/icons/full/eview16/junit.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.junit"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.junit.ui.TestRunnerViewPart"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CnixQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.views.AntView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Ant" iconURI="platform:/plugin/org.eclipse.ant.ui/icons/full/eview16/ant_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ant.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ant.internal.ui.views.AntView"/>
+      <tags>View</tags>
+      <tags>categoryTag:Ant</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CnyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.DebugView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Debug" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/debug_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.launch.LaunchView"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Debug</tags>
+      <menus xmi:id="_AG9CoCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.DebugView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CoSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.DebugView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CoixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.RegisterView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Registers" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/register_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.registers.RegistersView"/>
+      <tags>View</tags>
+      <tags>categoryTag:Debug</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CoyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.VariableView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Variables" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/variable_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.variables.VariablesView"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Debug</tags>
+      <menus xmi:id="_AG9CpCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.VariableView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CpSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.VariableView"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CpixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.BreakpointView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Breakpoints" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Debug</tags>
+      <menus xmi:id="_AG9CpyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.BreakpointView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CqCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.BreakpointView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CqSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ExpressionView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Expressions" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.expression.ExpressionView"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Debug</tags>
+      <menus xmi:id="_AG9CqixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ExpressionView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CqyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ExpressionView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CrCxQEeymybzsuL9nBA" elementId="org.eclipse.pde.runtime.LogView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Error Log" iconURI="platform:/plugin/org.eclipse.ui.views.log/icons/eview16/error_log.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.views.log"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.log.LogView"/>
+      <tags>View</tags>
+      <tags>categoryTag:General</tags>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CrSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.DisplayView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Debug Shell" iconURI="platform:/plugin/org.eclipse.jdt.debug.ui/icons/full/etool16/disp_sbook.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.debug.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.debug.ui.display.DisplayView"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Debug</tags>
+      <menus xmi:id="_AG9CrixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.DisplayView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CryxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.DisplayView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_AG9CsCxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.CoverageView" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Coverage" iconURI="platform:/plugin/org.eclipse.eclemma.ui/icons/full/eview16/coverage.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.eclemma.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.eclemma.internal.ui.coverageview.CoverageView"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java</tags>
+      <menus xmi:id="_AG9CsSxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.CoverageView">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_AG9CsixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.CoverageView" visible="false"/>
+    </sharedElements>
+    <sharedElements xsi:type="basic:Part" xmi:id="_pKp4ADL-Eey4hbpZgid-fw" elementId="org.eclipse.jdt.callhierarchy.view" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" label="Call Hierarchy" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/call_hierarchy.png" tooltip="" closeable="true">
+      <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+      <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.callhierarchy.CallHierarchyViewPart"/>
+      <persistedState key="memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;view search_scope_type=&quot;1&quot;/>"/>
+      <tags>View</tags>
+      <tags>categoryTag:Java</tags>
+      <menus xmi:id="_pRBlwDL-Eey4hbpZgid-fw" elementId="org.eclipse.jdt.callhierarchy.view">
+        <tags>ViewMenu</tags>
+        <tags>menuContribution:menu</tags>
+      </menus>
+      <toolbar xmi:id="_pRBlwTL-Eey4hbpZgid-fw" elementId="org.eclipse.jdt.callhierarchy.view" visible="false"/>
+    </sharedElements>
+    <trimBars xmi:id="_AG9CsyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.main.toolbar">
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9CtCxQEeymybzsuL9nBA" elementId="group.file" toBeRendered="false">
+        <tags>toolbarSeparator</tags>
+        <children xsi:type="menu:ToolBarSeparator" xmi:id="_AG9CtSxQEeymybzsuL9nBA" elementId="group.file" toBeRendered="false"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9CtixQEeymybzsuL9nBA" elementId="org.eclipse.ui.workbench.file">
+        <tags>Draggable</tags>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_sACdcEFnEeyfJqGniLOroQ" elementId="print" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/print_edit.png" tooltip="Print" command="_AHAufixQEeymybzsuL9nBA"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9CxCxQEeymybzsuL9nBA" elementId="group.edit" toBeRendered="false">
+        <tags>toolbarSeparator</tags>
+        <children xsi:type="menu:ToolBarSeparator" xmi:id="_AG9CxSxQEeymybzsuL9nBA" elementId="group.edit" toBeRendered="false"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9CxixQEeymybzsuL9nBA" elementId="org.eclipse.ui.workbench.edit" visible="false">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9CyixQEeymybzsuL9nBA" elementId="additions" toBeRendered="false">
+        <tags>toolbarSeparator</tags>
+        <children xsi:type="menu:ToolBarSeparator" xmi:id="_AG9CyyxQEeymybzsuL9nBA" elementId="additions" toBeRendered="false"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9C9yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavaElementCreationActionSet">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9C_CxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.launchActionSet">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DAixQEeymybzsuL9nBA" elementId="org.eclipse.jst.j2ee.J2eeMainActionSet" visible="false">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DAyxQEeymybzsuL9nBA" elementId="org.eclipse.search.searchActionSet">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DCCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.actionSet.presentation">
+        <tags>Draggable</tags>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_AG9DCSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" visible="false" iconURI="platform:/plugin/org.eclipse.ui.genericeditor/icons/full/etool16/mark_occurrences.png" selected="true" type="Check" command="_AHAuvyxQEeymybzsuL9nBA">
+          <persistedState key="IIdentifier" value="org.eclipse.ui.genericeditor/org.eclipse.ui.genericeditor.togglehighlight"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_AG9DCixQEeymybzsuL9nBA" coreExpressionId="programmatic.value"/>
+        </children>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_AG9DCyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" visible="false" iconURI="platform:/plugin/org.eclipse.ui.genericeditor/icons/full/etool16/mark_occurrences.png" selected="true" type="Check" command="_AHAuvyxQEeymybzsuL9nBA">
+          <persistedState key="IIdentifier" value="org.eclipse.ui.genericeditor/org.eclipse.ui.genericeditor.togglehighlight"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_AG9DDCxQEeymybzsuL9nBA" coreExpressionId="programmatic.value"/>
+        </children>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_AG9DDSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" visible="false" iconURI="platform:/plugin/org.eclipse.ui.genericeditor/icons/full/etool16/mark_occurrences.png" selected="true" type="Check" command="_AHAuvyxQEeymybzsuL9nBA">
+          <persistedState key="IIdentifier" value="org.eclipse.ui.genericeditor/org.eclipse.ui.genericeditor.togglehighlight"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_AG9DDixQEeymybzsuL9nBA" coreExpressionId="programmatic.value"/>
+        </children>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_AG9DDyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" visible="false" iconURI="platform:/plugin/org.eclipse.ui.genericeditor/icons/full/etool16/mark_occurrences.png" selected="true" type="Check" command="_AHAuvyxQEeymybzsuL9nBA">
+          <persistedState key="IIdentifier" value="org.eclipse.ui.genericeditor/org.eclipse.ui.genericeditor.togglehighlight"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_AG9DECxQEeymybzsuL9nBA" coreExpressionId="programmatic.value"/>
+        </children>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_AG9DESxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" visible="false" iconURI="platform:/plugin/org.eclipse.ui.genericeditor/icons/full/etool16/mark_occurrences.png" selected="true" type="Check" command="_AHAuvyxQEeymybzsuL9nBA">
+          <persistedState key="IIdentifier" value="org.eclipse.ui.genericeditor/org.eclipse.ui.genericeditor.togglehighlight"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_AG9DEixQEeymybzsuL9nBA" coreExpressionId="programmatic.value"/>
+        </children>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_AG9DEyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" visible="false" iconURI="platform:/plugin/org.eclipse.ui.genericeditor/icons/full/etool16/mark_occurrences.png" selected="true" type="Check" command="_AHAuvyxQEeymybzsuL9nBA">
+          <persistedState key="IIdentifier" value="org.eclipse.ui.genericeditor/org.eclipse.ui.genericeditor.togglehighlight"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_AG9DFCxQEeymybzsuL9nBA" coreExpressionId="programmatic.value"/>
+        </children>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_AG9DFSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" visible="false" iconURI="platform:/plugin/org.eclipse.ui.genericeditor/icons/full/etool16/mark_occurrences.png" selected="true" type="Check" command="_AHAuvyxQEeymybzsuL9nBA">
+          <persistedState key="IIdentifier" value="org.eclipse.ui.genericeditor/org.eclipse.ui.genericeditor.togglehighlight"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_AG9DFixQEeymybzsuL9nBA" coreExpressionId="programmatic.value"/>
+        </children>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DHyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.internal.webbrowser.actionSet" visible="false">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DICxQEeymybzsuL9nBA" elementId="org.eclipse.wst.ws.explorer.explorer" visible="false">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DISxQEeymybzsuL9nBA" elementId="group.nav" toBeRendered="false">
+        <tags>toolbarSeparator</tags>
+        <children xsi:type="menu:ToolBarSeparator" xmi:id="_AG9DIixQEeymybzsuL9nBA" elementId="group.nav" toBeRendered="false"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DIyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.workbench.navigate">
+        <tags>Draggable</tags>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_sALnaUFnEeyfJqGniLOroQ" elementId="org.eclipse.ui.window.pinEditor" visible="false" iconURI="platform:/plugin/org.eclipse.ui/icons/full/etool16/pin_editor.png" tooltip="Pin Editor" type="Check" command="_AHAuHyxQEeymybzsuL9nBA"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DMCxQEeymybzsuL9nBA" elementId="group.editor" toBeRendered="false">
+        <tags>toolbarSeparator</tags>
+        <children xsi:type="menu:ToolBarSeparator" xmi:id="_AG9DMSxQEeymybzsuL9nBA" elementId="group.editor" toBeRendered="false"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DMixQEeymybzsuL9nBA" elementId="group.help" toBeRendered="false">
+        <tags>toolbarSeparator</tags>
+        <children xsi:type="menu:ToolBarSeparator" xmi:id="_AG9DMyxQEeymybzsuL9nBA" elementId="group.help" toBeRendered="false"/>
+      </children>
+      <children xsi:type="menu:ToolBar" xmi:id="_AG9DNCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.workbench.help" visible="false">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DNyxQEeymybzsuL9nBA" elementId="PerspectiveSpacer" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.LayoutModifierToolControl">
+        <tags>stretch</tags>
+        <tags>SHOW_RESTORE_MENU</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DOyxQEeymybzsuL9nBA" elementId="PerspectiveSwitcher" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.e4.ui.workbench.addons.perspectiveswitcher.PerspectiveSwitcher">
+        <tags>Draggable</tags>
+        <tags>HIDEABLE</tags>
+        <tags>SHOW_RESTORE_MENU</tags>
+      </children>
+    </trimBars>
+    <trimBars xmi:id="_AG9DQixQEeymybzsuL9nBA" elementId="org.eclipse.ui.trim.status" side="Bottom">
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DQyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.StatusLine" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.StandardTrim">
+        <tags>stretch</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DRCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.HeapStatus" toBeRendered="false" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.StandardTrim">
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DRSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ProgressBar" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.StandardTrim">
+        <tags>Draggable</tags>
+      </children>
+    </trimBars>
+    <trimBars xmi:id="_AG9DUSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.trim.vertical1" toBeRendered="false" side="Left">
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DUixQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.perspectivestack(minimized)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DUyxQEeymybzsuL9nBA" elementId="left(IDEWindow).(org.eclipse.jdt.ui.JavaPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DVCxQEeymybzsuL9nBA" elementId="topLeft(IDEWindow).(org.eclipse.jst.j2ee.J2EEPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+    </trimBars>
+    <trimBars xmi:id="_AG9DVSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.trim.vertical2" toBeRendered="false" side="Right">
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DVixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasksMStack(IDEWindow).(org.eclipse.jdt.ui.JavaPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DVyxQEeymybzsuL9nBA" elementId="right(IDEWindow).(org.eclipse.jdt.ui.JavaPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DWCxQEeymybzsuL9nBA" elementId="bottom(IDEWindow).(org.eclipse.jdt.ui.JavaPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DWSxQEeymybzsuL9nBA" elementId="topRight(IDEWindow).(org.eclipse.jst.j2ee.J2EEPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+      <children xsi:type="menu:ToolControl" xmi:id="_AG9DWixQEeymybzsuL9nBA" elementId="bottomRight(IDEWindow).(org.eclipse.jst.j2ee.J2EEPerspective)" toBeRendered="false" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.TrimStack">
+        <tags>TrimStack</tags>
+        <tags>Draggable</tags>
+      </children>
+    </trimBars>
+  </children>
+  <handlers xmi:id="_AG9DWyxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.news.rcp.handler.pollNewsFeeds" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" contributionURI="bundleclass://org.eclipse.recommenders.news.rcp/org.eclipse.recommenders.internal.news.rcp.poll.PollNewsFeedsHandler" command="_AHBUFyxQEeymybzsuL9nBA"/>
+  <handlers xmi:id="_AG9DXCxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.news.rcp.handler.readNewsItems" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" contributionURI="bundleclass://org.eclipse.recommenders.news.rcp/org.eclipse.recommenders.internal.news.rcp.read.ReadNewsItemsHandler" command="_AHBUGCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9DXSxQEeymybzsuL9nBA" contributorURI="platform:/plugin/org.eclipse.platform" bindingContext="_AG-QRCxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9DXixQEeymybzsuL9nBA" keySequence="ALT+F11" command="_AHAFxCxQEeymybzsuL9nBA">
+      <tags>platform:win32</tags>
+    </bindings>
+    <bindings xmi:id="_AG9DXyxQEeymybzsuL9nBA" keySequence="SHIFT+INSERT" command="_AG_gQCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DYCxQEeymybzsuL9nBA" keySequence="ALT+PAGE_UP" command="_AHAtEixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DYSxQEeymybzsuL9nBA" keySequence="ALT+PAGE_DOWN" command="_AHAt4CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DYixQEeymybzsuL9nBA" keySequence="SHIFT+DEL" command="_AHAGfSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DYyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+SPACE" command="_AHAGUSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DZCxQEeymybzsuL9nBA" keySequence="CTRL+SPACE" command="_AHAuRCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DZSxQEeymybzsuL9nBA" keySequence="CTRL+A" command="_AHAs0SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DZixQEeymybzsuL9nBA" keySequence="CTRL+C" command="_AHAtPSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DZyxQEeymybzsuL9nBA" keySequence="CTRL+1" command="_AHAGKCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DaCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+I" command="_AHAGCSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DaSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+L" command="_AHAuvixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DaixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+D" command="_AHAu7ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DayxQEeymybzsuL9nBA" keySequence="CTRL+X" command="_AHAGfSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DbCxQEeymybzsuL9nBA" keySequence="CTRL+Y" command="_AHAtAixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DbSxQEeymybzsuL9nBA" keySequence="CTRL+Z" command="_AHAGdSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DbixQEeymybzsuL9nBA" keySequence="CTRL+V" command="_AG_gQCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DbyxQEeymybzsuL9nBA" keySequence="CTRL+INSERT" command="_AHAtPSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DcCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+F3" command="_AHAuiSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DcSxQEeymybzsuL9nBA" keySequence="CTRL+F10" command="_AHAFmCxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9DcixQEeymybzsuL9nBA" elementId="org.eclipse.ui.textEditorScope" bindingContext="_AG-QSSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9DcyxQEeymybzsuL9nBA" keySequence="END" command="_AHAupCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DdCxQEeymybzsuL9nBA" keySequence="INSERT" command="_AHAtgSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DdSxQEeymybzsuL9nBA" keySequence="F2" command="_AHAGMyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DdixQEeymybzsuL9nBA" keySequence="HOME" command="_AHAu0CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DdyxQEeymybzsuL9nBA" keySequence="SHIFT+END" command="_AHAstCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DeCxQEeymybzsuL9nBA" keySequence="SHIFT+HOME" command="_AHAsjixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DeSxQEeymybzsuL9nBA" keySequence="ALT+ARROW_UP" command="_AHAvMixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DeixQEeymybzsuL9nBA" keySequence="ALT+ARROW_DOWN" command="_AHAt7SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DeyxQEeymybzsuL9nBA" keySequence="CTRL+BS" command="_AG_f_yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DfCxQEeymybzsuL9nBA" keySequence="CTRL++" command="_AHAttixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DfSxQEeymybzsuL9nBA" keySequence="CTRL+-" command="_AHAspyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DfixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+CR" command="_AHAuiCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DfyxQEeymybzsuL9nBA" keySequence="CTRL+J" command="_AHAFoCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DgCxQEeymybzsuL9nBA" keySequence="CTRL+K" command="_AHAt2ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DgSxQEeymybzsuL9nBA" keySequence="CTRL+L" command="_AHAuXSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DgixQEeymybzsuL9nBA" keySequence="CTRL+D" command="_AHAFsSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DgyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+X" command="_AHAtRixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DhCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+Y" command="_AHAsoSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DhSxQEeymybzsuL9nBA" keySequence="CTRL+=" command="_AHAttixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DhixQEeymybzsuL9nBA" keySequence="ALT+/" command="_AHAu1SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DhyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+Q" command="_AHAGESxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DiCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+A" command="_AHAtYCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DiSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Y" command="_AG_f9ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DiixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+J" command="_AHAGAixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DiyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+K" command="_AHAF1SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DjCxQEeymybzsuL9nBA" keySequence="SHIFT+CR" command="_AHAuzixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DjSxQEeymybzsuL9nBA" keySequence="ALT+CTRL+J" command="_AHAGHyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DjixQEeymybzsuL9nBA" keySequence="CTRL+DEL" command="_AHAGbixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DjyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+DEL" command="_AHAuSyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DkCxQEeymybzsuL9nBA" keySequence="CTRL+END" command="_AHAt8ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DkSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+NUMPAD_MULTIPLY" command="_AHAuECxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DkixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+NUMPAD_DIVIDE" command="_AHAtgyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DkyxQEeymybzsuL9nBA" keySequence="CTRL+ARROW_UP" command="_AHAF2ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DlCxQEeymybzsuL9nBA" keySequence="CTRL+ARROW_DOWN" command="_AHAvSCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DlSxQEeymybzsuL9nBA" keySequence="CTRL+ARROW_LEFT" command="_AHAtNyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DlixQEeymybzsuL9nBA" keySequence="CTRL+ARROW_RIGHT" command="_AHAGDixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DlyxQEeymybzsuL9nBA" keySequence="CTRL+HOME" command="_AG_gPixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DmCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+INSERT" command="_AHAF8CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DmSxQEeymybzsuL9nBA" keySequence="CTRL+NUMPAD_MULTIPLY" command="_AHAuBSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DmixQEeymybzsuL9nBA" keySequence="CTRL+NUMPAD_ADD" command="_AHAu8yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DmyxQEeymybzsuL9nBA" keySequence="CTRL+NUMPAD_SUBTRACT" command="_AHAuhixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DnCxQEeymybzsuL9nBA" keySequence="CTRL+NUMPAD_DIVIDE" command="_AHAF3yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DnSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_LEFT" command="_AHAsuCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DnixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_RIGHT" command="_AHAF9ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DnyxQEeymybzsuL9nBA" keySequence="ALT+CTRL+ARROW_UP" command="_AHAvBixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DoCxQEeymybzsuL9nBA" keySequence="ALT+CTRL+ARROW_DOWN" command="_AHAs3CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DoSxQEeymybzsuL9nBA" keySequence="CTRL+F10" command="_AHAugyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9DoixQEeymybzsuL9nBA" keySequence="ALT+CTRL+SPACE" command="_AHBUBixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9DoyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" bindingContext="_AG-QeSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9pMCxQEeymybzsuL9nBA" keySequence="INSERT" command="_AHAsnixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pMSxQEeymybzsuL9nBA" keySequence="F4" command="_AHAFkyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pMixQEeymybzsuL9nBA" keySequence="SHIFT+INSERT" command="_AHAFyixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pMyxQEeymybzsuL9nBA" keySequence="ALT+ARROW_UP" command="_AHAtyyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pNCxQEeymybzsuL9nBA" keySequence="ALT+ARROW_DOWN" command="_AHAGZixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pNSxQEeymybzsuL9nBA" keySequence="CTRL+CR" command="_AHAGYCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pNixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+I" command="_AHAsqCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pNyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+C" command="_AHAtICxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pOCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+R" command="_AHAstixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pOSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+U" command="_AHAt_yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pOixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_UP" command="_AHAuNyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pOyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_DOWN" command="_AHAssCxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9pPCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.internal.wikitext.ui.editor.basicMarkupSourceContext" bindingContext="_AG-QZyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9pPSxQEeymybzsuL9nBA" keySequence="F1" command="_AG_gDyxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9pPixQEeymybzsuL9nBA" elementId="org.eclipse.ui.contexts.window" bindingContext="_AG-QRSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9pPyxQEeymybzsuL9nBA" keySequence="F2" command="_AHAFeCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pQCxQEeymybzsuL9nBA" keySequence="F3" command="_AHAGISxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pQSxQEeymybzsuL9nBA" keySequence="F4" command="_AHAFgixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pQixQEeymybzsuL9nBA" keySequence="F5" command="_AHAshixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pQyxQEeymybzsuL9nBA" keySequence="ALT+F7" command="_AHAtaCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pRCxQEeymybzsuL9nBA" keySequence="SHIFT+F2" command="_AHAtlyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pRSxQEeymybzsuL9nBA" keySequence="SHIFT+F5" command="_AHAs4SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pRixQEeymybzsuL9nBA" keySequence="ALT+F5" command="_AHAsxyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pRyxQEeymybzsuL9nBA" keySequence="ALT+ARROW_LEFT" command="_AHAFnCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pSCxQEeymybzsuL9nBA" keySequence="F11" command="_AHAu4SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pSSxQEeymybzsuL9nBA" keySequence="ALT+ARROW_RIGHT" command="_AHAGkixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pSixQEeymybzsuL9nBA" keySequence="F12" command="_AHAuRyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pSyxQEeymybzsuL9nBA" keySequence="DEL" command="_AHAFzyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pTCxQEeymybzsuL9nBA" keySequence="ALT+CTRL+X G" command="_AHAu3CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pTSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+X A" command="_AHAFcyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pTixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+X Q" command="_AHAGBixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pTyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+X T" command="_AHAszixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pUCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+X J" command="_AHAt5SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pUSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+X M" command="_AHAs2CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pUixQEeymybzsuL9nBA" keySequence="CTRL++" command="_AHAsgCxQEeymybzsuL9nBA">
+      <tags>locale:de</tags>
+    </bindings>
+    <bindings xmi:id="_AG9pUyxQEeymybzsuL9nBA" keySequence="CTRL+," command="_AHAFdSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pVCxQEeymybzsuL9nBA" keySequence="CTRL+-" command="_AHAuwSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pVSxQEeymybzsuL9nBA" keySequence="CTRL+." command="_AHAvCyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pVixQEeymybzsuL9nBA" keySequence="CTRL+#" command="_AHAFmSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pVyxQEeymybzsuL9nBA" keySequence="CTRL+H" command="_AHAuQyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pWCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+D J" command="_AHAuFixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pWSxQEeymybzsuL9nBA" keySequence="CTRL+M" command="_AHAuPyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pWixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+D Q" command="_AHAs6CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pWyxQEeymybzsuL9nBA" keySequence="CTRL+N" command="_AHAvJixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pXCxQEeymybzsuL9nBA" keySequence="ALT+CTRL+P" command="_AHAFxyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pXSxQEeymybzsuL9nBA" keySequence="CTRL+B" command="_AHAFeSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pXixQEeymybzsuL9nBA" keySequence="CTRL+E" command="_AHAGbCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pXyxQEeymybzsuL9nBA" keySequence="CTRL+F" command="_AHAFvSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pYCxQEeymybzsuL9nBA" keySequence="CTRL+G" command="_AG_gACxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pYSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+H" command="_AHAGZCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pYixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+I" command="_AHAFmixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pYyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+J" command="_AHAGaCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pZCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+L" command="_AHAGIyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pZSxQEeymybzsuL9nBA" keySequence="ALT+-" command="_AHAtUSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pZixQEeymybzsuL9nBA" keySequence="CTRL+=" command="_AHAsgCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pZyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+M" command="_AHAu9CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9paCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+N" command="_AHAGdixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9paSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+R" command="_AHAvTixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9paixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+D T" command="_AG_gDixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9payxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+C" command="_AHAuSixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pbCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+S" command="_AHAtqCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pbSxQEeymybzsuL9nBA" keySequence="CTRL+3" command="_AHAGMixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pbixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+T" command="_AHAGfCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pbyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+U" command="_AHAF7ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pcCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+F" command="_AHAulCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pcSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+V" command="_AHAurCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pcixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+W" command="_AHAGeyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pcyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+H" command="_AHAtLyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pdCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Z" command="_AHAtKixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pdSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+N" command="_AHAtUixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pdixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+O" command="_AHAu6CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pdyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+P" command="_AHAtxixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9peCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+B" command="_AHAF1ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9peSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+R" command="_AHAtByxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9peixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+S" command="_AHAtIixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9peyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+T" command="_AHAtYixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pfCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+E" command="_AHAF6CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pfSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+V" command="_AHAstyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pfixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+G" command="_AHAvISxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pfyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+W" command="_AHAvBSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pgCxQEeymybzsuL9nBA" keySequence="ALT+CTRL+H" command="_AHAFjCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pgSxQEeymybzsuL9nBA" keySequence="ALT+CR" command="_AHAuLixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pgixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+D A" command="_AHAuYCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pgyxQEeymybzsuL9nBA" keySequence="CTRL+_" command="_AHAGVSxQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9phCxQEeymybzsuL9nBA" elementId="Splitter.isHorizontal" name="Splitter.isHorizontal" value="true"/>
+    </bindings>
+    <bindings xmi:id="_AG9phSxQEeymybzsuL9nBA" keySequence="CTRL+P" command="_AHAufixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9phixQEeymybzsuL9nBA" keySequence="CTRL+Q" command="_AHAujyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9phyxQEeymybzsuL9nBA" keySequence="ALT+CTRL+B" command="_AHAt1ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9piCxQEeymybzsuL9nBA" keySequence="CTRL+S" command="_AHAsqSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9piSxQEeymybzsuL9nBA" keySequence="CTRL+U" command="_AHAs-SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9piixQEeymybzsuL9nBA" keySequence="ALT+CTRL+G" command="_AHAtvyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9piyxQEeymybzsuL9nBA" keySequence="CTRL+W" command="_AHAtDSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pjCxQEeymybzsuL9nBA" keySequence="CTRL+{" command="_AHAGVSxQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pjSxQEeymybzsuL9nBA" elementId="Splitter.isHorizontal" name="Splitter.isHorizontal" value="false"/>
+    </bindings>
+    <bindings xmi:id="_AG9pjixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E L" command="_AHAFdixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pjyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E N" command="_AHAvEyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pkCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E P" command="_AG_f_CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pkSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E R" command="_AHAGFCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pkixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E E" command="_AHAFnixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pkyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E G" command="_AHAGgyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9plCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E J" command="_AG_gPyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9plSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E T" command="_AHAFlSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9plixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E S" command="_AHAs0ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9plyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q H" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pmCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.cheatsheets.views.CheatSheetView"/>
+    </bindings>
+    <bindings xmi:id="_AG9pmSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q J" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pmixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.JavadocView"/>
+    </bindings>
+    <bindings xmi:id="_AG9pmyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q L" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pnCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.pde.runtime.LogView"/>
+    </bindings>
+    <bindings xmi:id="_AG9pnSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q K" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pnixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.mylyn.tasks.ui.views.tasks"/>
+    </bindings>
+    <bindings xmi:id="_AG9pnyxQEeymybzsuL9nBA" keySequence="ALT+CTRL+SHIFT+ARROW_UP" command="_AHAtkixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9poCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q B" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9poSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.debug.ui.BreakpointView"/>
+    </bindings>
+    <bindings xmi:id="_AG9poixQEeymybzsuL9nBA" keySequence="ALT+CTRL+SHIFT+ARROW_DOWN" command="_AHAvLixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9poyxQEeymybzsuL9nBA" keySequence="ALT+CTRL+SHIFT+ARROW_RIGHT" command="_AHAtfCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9ppCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q D" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9ppSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.SourceView"/>
+    </bindings>
+    <bindings xmi:id="_AG9ppixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q C" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9ppyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.console.ConsoleView"/>
+    </bindings>
+    <bindings xmi:id="_AG9pqCxQEeymybzsuL9nBA" keySequence="ALT+CTRL+SHIFT+F12" command="_AHAu9ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pqSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+NUMPAD_MULTIPLY" command="_AHAtpyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pqixQEeymybzsuL9nBA" keySequence="CTRL+F4" command="_AHAtDSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pqyxQEeymybzsuL9nBA" keySequence="CTRL+F6" command="_AHAFyCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9prCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+NUMPAD_DIVIDE" command="_AHAGVyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9prSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F7" command="_AHAu5CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9prixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F8" command="_AHAGVCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pryxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F9" command="_AHAsxCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9psCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F11" command="_AHAtJixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9psSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F12" command="_AG_gHixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9psixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q X" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9psyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.views.ProblemView"/>
+    </bindings>
+    <bindings xmi:id="_AG9ptCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q Z" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9ptSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.team.ui.GenericHistoryView"/>
+    </bindings>
+    <bindings xmi:id="_AG9ptixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q Y" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9ptyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.team.sync.views.SynchronizeView"/>
+    </bindings>
+    <bindings xmi:id="_AG9puCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F4" command="_AHAGeyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9puSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F6" command="_AHAtsyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9puixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+F7" command="_AHAt9CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9puyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q P" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pvCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.PackageExplorer"/>
+    </bindings>
+    <bindings xmi:id="_AG9pvSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q O" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pvixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.ui.views.ContentOutline"/>
+    </bindings>
+    <bindings xmi:id="_AG9pvyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q Q" command="_AHAtzixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pwCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q T" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pwSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.jdt.ui.TypeHierarchy"/>
+    </bindings>
+    <bindings xmi:id="_AG9pwixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q S" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pwyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.search.ui.views.SearchView"/>
+    </bindings>
+    <bindings xmi:id="_AG9pxCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q V" command="_AHAtzixQEeymybzsuL9nBA">
+      <parameters xmi:id="_AG9pxSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="org.eclipse.ui.views.showView.viewId" value="org.eclipse.debug.ui.VariableView"/>
+    </bindings>
+    <bindings xmi:id="_AG9pxixQEeymybzsuL9nBA" keySequence="CTRL+F7" command="_AHAtPixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pxyxQEeymybzsuL9nBA" keySequence="CTRL+F8" command="_AHAGKyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pyCxQEeymybzsuL9nBA" keySequence="CTRL+F9" command="_AHAF7CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pySxQEeymybzsuL9nBA" keySequence="CTRL+F11" command="_AHAuqixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pyixQEeymybzsuL9nBA" keySequence="CTRL+F12" command="_AHAF2SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pyyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+X R" command="_AHAtACxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pzCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+D R" command="_AHAtAyxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9pzSxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.AntEditorScope" bindingContext="_AG-QYSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9pzixQEeymybzsuL9nBA" keySequence="F3" command="_AG_gESxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9pzyxQEeymybzsuL9nBA" keySequence="SHIFT+F2" command="_AHAtcixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p0CxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+O" command="_AG_gCixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p0SxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+R" command="_AHAFgSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p0ixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F" command="_AHAuzSxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9p0yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.genericEditorContext" bindingContext="_AG-QZCxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9p1CxQEeymybzsuL9nBA" keySequence="F3" command="_AHAukCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p1SxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+G" command="_AHAuoyxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9p1ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.javascriptViewScope" bindingContext="_AG-QSyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9p1yxQEeymybzsuL9nBA" keySequence="F3" command="_AHAt-SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p2CxQEeymybzsuL9nBA" keySequence="F4" command="_AHAs4CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p2SxQEeymybzsuL9nBA" keySequence="SHIFT+F2" command="_AHAuUyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p2ixQEeymybzsuL9nBA" keySequence="CTRL+G" command="_AHAt3CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p2yxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+I" command="_AHAtbyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p3CxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+J" command="_AHAtkyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p3SxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+L" command="_AHAs7yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p3ixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+M" command="_AHAupixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p3yxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+C" command="_AHAGRixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p4CxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+U" command="_AHAGDSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p4SxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+H" command="_AHAvSyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p4ixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Z" command="_AHAsxixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p4yxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+O" command="_AHAFsixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p5CxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+R" command="_AHAtrSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p5SxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+S" command="_AHAtoyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p5ixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+T" command="_AHAF1CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p5yxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+V" command="_AHAGECxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p6CxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+G" command="_AHAtZSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p6SxQEeymybzsuL9nBA" keySequence="ALT+CTRL+H" command="_AHAuOCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p6ixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q J" command="_AHAuuSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p6yxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q D" command="_AHAt7ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p7CxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q P" command="_AHAtuCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p7SxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+Q T" command="_AHAtjyxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9p7ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.structuredTextEditorScope" bindingContext="_AG-QTyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9p7yxQEeymybzsuL9nBA" keySequence="F3" command="_AHAtXixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p8CxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+/" command="_AHAtUCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p8SxQEeymybzsuL9nBA" keySequence="CTRL+I" command="_AHAugSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p8ixQEeymybzsuL9nBA" keySequence="CTRL+O" command="_AHAtbixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p8yxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+\" command="_AHAtwSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p9CxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+P" command="_AHAtYSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p9SxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+A" command="_AHAvSSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p9ixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+C" command="_AHAuyyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p9yxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F" command="_AHAvIixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p-CxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+>" command="_AHAuYSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p-SxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_UP" command="_AHAt6CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p-ixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_DOWN" command="_AHAuASxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p-yxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_LEFT" command="_AHAFiixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p_CxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_RIGHT" command="_AHAtmixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p_SxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_UP" command="_AHAGACxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9p_ixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_DOWN" command="_AHAs7ixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9p_yxQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.contexts.taskview" bindingContext="_AG-QeixQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qACxQEeymybzsuL9nBA" keySequence="F5" command="_AHAuyixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qASxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.debugging" bindingContext="_AG-QcyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qAixQEeymybzsuL9nBA" keySequence="F5" command="_AHAFhyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qAyxQEeymybzsuL9nBA" keySequence="F6" command="_AHAsvCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qBCxQEeymybzsuL9nBA" keySequence="F7" command="_AHAvFCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qBSxQEeymybzsuL9nBA" keySequence="F8" command="_AHAteixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qBixQEeymybzsuL9nBA" keySequence="CTRL+R" command="_AHAtQSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qByxQEeymybzsuL9nBA" keySequence="CTRL+F2" command="_AHAuTyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qCCxQEeymybzsuL9nBA" keySequence="CTRL+F5" command="_AHAu2yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qCSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+3" command="_AHAFgyxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qCixQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.EditContext" bindingContext="_AG-QRyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qCyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.SQLEditorScope" bindingContext="_AG-QTCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qDCxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.TerminalContext" bindingContext="_AG-QeCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qDSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.memory.abstractasynctablerendering" bindingContext="_AG-QdCxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qDixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+," command="_AHAukyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qDyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+." command="_AHAuPSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qECxQEeymybzsuL9nBA" keySequence="CTRL+G" command="_AHAuPixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qESxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.BreakpointView" bindingContext="_AG-QSCxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qEixQEeymybzsuL9nBA" keySequence="ALT+CR" command="_AHAtLixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qEyxQEeymybzsuL9nBA" keySequence="CTRL+CR" command="_AHAFlCxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qFCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.javaEditorScope" bindingContext="_AG-QTixQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qFSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+/" command="_AHAs-ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qFixQEeymybzsuL9nBA" keySequence="CTRL+/" command="_AHAtVCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qFyxQEeymybzsuL9nBA" keySequence="CTRL+I" command="_AHAGkCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qGCxQEeymybzsuL9nBA" keySequence="CTRL+O" command="_AHAs0yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qGSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+\" command="_AHAFsyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qGixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+O" command="_AHAGcCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qGyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+P" command="_AHAt8yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qHCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+B" command="_AHAvNixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qHSxQEeymybzsuL9nBA" keySequence="CTRL+2 R" command="_AHAuMixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qHixQEeymybzsuL9nBA" keySequence="CTRL+7" command="_AHAtVCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qHyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+M" command="_AHAGNCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qICxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+C" command="_AHAtVCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qISxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+U" command="_AHAuHSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qIixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F" command="_AHAuzSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qIyxQEeymybzsuL9nBA" keySequence="CTRL+T" command="_AHAtXyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qJCxQEeymybzsuL9nBA" keySequence="CTRL+F3" command="_AHAvCCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qJSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_UP" command="_AHAs5yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qJixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_DOWN" command="_AHAF2yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qJyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_LEFT" command="_AHAshCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qKCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_RIGHT" command="_AHAFrSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qKSxQEeymybzsuL9nBA" keySequence="CTRL+2 M" command="_AHAsiSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qKixQEeymybzsuL9nBA" keySequence="CTRL+2 L" command="_AHAFpCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qKyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_UP" command="_AHAtDyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qLCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_DOWN" command="_AHAs1SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qLSxQEeymybzsuL9nBA" keySequence="CTRL+2 F" command="_AHAu8ixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qLixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.javaEditorScope" bindingContext="_AG-QSixQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qLyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+/" command="_AHAs7SxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qMCxQEeymybzsuL9nBA" keySequence="CTRL+/" command="_AHAteyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qMSxQEeymybzsuL9nBA" keySequence="CTRL+I" command="_AHAsuSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qMixQEeymybzsuL9nBA" keySequence="CTRL+O" command="_AG_gJixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qMyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+\" command="_AHAFzSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qNCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+O" command="_AHAskCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qNSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+P" command="_AHAtqixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qNixQEeymybzsuL9nBA" keySequence="CTRL+2 R" command="_AHAGNyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qNyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+T" command="_AHAs8CxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qOCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+E" command="_AHAtKSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qOSxQEeymybzsuL9nBA" keySequence="CTRL+7" command="_AHAteyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qOixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+M" command="_AHAFjixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qOyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+C" command="_AHAteyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qPCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+U" command="_AHAGeixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qPSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+F" command="_AHAFqCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qPixQEeymybzsuL9nBA" keySequence="CTRL+T" command="_AHAtlCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qPyxQEeymybzsuL9nBA" keySequence="CTRL+F3" command="_AHAtQixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qQCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_UP" command="_AHAFfSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qQSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_DOWN" command="_AHAuGixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qQixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_LEFT" command="_AHAuzyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qQyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+ARROW_RIGHT" command="_AHAtzCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qRCxQEeymybzsuL9nBA" keySequence="CTRL+2 L" command="_AHAvCixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qRSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_UP" command="_AHAvUSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qRixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+ARROW_DOWN" command="_AHAF7yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qRyxQEeymybzsuL9nBA" keySequence="CTRL+2 F" command="_AHAsmixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qSCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.propertiesEditorScope" bindingContext="_AG-QaixQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qSSxQEeymybzsuL9nBA" keySequence="CTRL+/" command="_AHAtVCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qSixQEeymybzsuL9nBA" keySequence="CTRL+7" command="_AHAtVCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qSyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+C" command="_AHAtVCxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qTCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.memoryview" bindingContext="_AG-QbSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qTSxQEeymybzsuL9nBA" keySequence="CTRL+N" command="_AHAtuixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qTixQEeymybzsuL9nBA" keySequence="ALT+CTRL+M" command="_AHAsyyxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qTyxQEeymybzsuL9nBA" keySequence="ALT+CTRL+N" command="_AHAu9yxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qUCxQEeymybzsuL9nBA" keySequence="CTRL+T" command="_AHAGOCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qUSxQEeymybzsuL9nBA" keySequence="CTRL+W" command="_AHAtiSxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qUixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.editors.task" bindingContext="_AG-QZixQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qUyxQEeymybzsuL9nBA" keySequence="CTRL+O" command="_AHAvACxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qVCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+I" command="_AHAsqCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qVSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+C" command="_AHAtICxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qVixQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+M" command="_AG_gJSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qVyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+R" command="_AHAstixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qWCxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+S" command="_AHAGgixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qWSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+U" command="_AHAt_yxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qWixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.editor.markupSourceContext" bindingContext="_AG-QaCxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qWyxQEeymybzsuL9nBA" keySequence="CTRL+O" command="_AG_gNixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qXCxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.pdeEditorContext" bindingContext="_AG-QYyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qXSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.serverViewScope" bindingContext="_AG-QcixQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qXixQEeymybzsuL9nBA" keySequence="ALT+CTRL+P" command="_AHAt-ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qXyxQEeymybzsuL9nBA" keySequence="ALT+CTRL+R" command="_AHAvECxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qYCxQEeymybzsuL9nBA" keySequence="ALT+CTRL+S" command="_AHAGGixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qYSxQEeymybzsuL9nBA" keySequence="ALT+CTRL+D" command="_AHAt3yxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qYixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesView" bindingContext="_AG-QeyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qYyxQEeymybzsuL9nBA" keySequence="CTRL+C" command="_AHAGQSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qZCxQEeymybzsuL9nBA" keySequence="CTRL+V" command="_AHAtRCxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qZSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.ReflogView" bindingContext="_AG-QdyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qZixQEeymybzsuL9nBA" keySequence="CTRL+C" command="_AHAFySxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qZyxQEeymybzsuL9nBA" elementId="org.eclipse.core.runtime.xml" bindingContext="_AG-QUyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qaCxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+P" command="_AHAuSCxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qaSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+D" command="_AHAs-CxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qaixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.classFileEditorScope" bindingContext="_AG-QTSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qayxQEeymybzsuL9nBA" keySequence="CTRL+1" command="_AHAvGyxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qbCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.breadcrumbEditorScope" bindingContext="_AG-QfyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qbSxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+B" command="_AHAvNixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qbixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.chromium.debug.ui.editors.JsEditor.context" bindingContext="_AG-QfSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qbyxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+I" command="_AHAu_yxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qcCxQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope" bindingContext="_AG-QWixQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qcSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+M" command="_AHAGRSxQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qcixQEeymybzsuL9nBA" keySequence="ALT+SHIFT+R" command="_AHAu-ixQEeymybzsuL9nBA"/>
+    <bindings xmi:id="_AG9qcyxQEeymybzsuL9nBA" keySequence="ALT+SHIFT+V" command="_AHAs1CxQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qdCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.tasks.ui.markupSourceContext" bindingContext="_AG-QaSxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qdSxQEeymybzsuL9nBA" keySequence="CTRL+SHIFT+O" command="_AG_gNixQEeymybzsuL9nBA"/>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qdixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.console" bindingContext="_AG-QbyxQEeymybzsuL9nBA">
+    <bindings xmi:id="_AG9qdyxQEeymybzsuL9nBA" keySequence="CTRL+Z" command="_AHAvAixQEeymybzsuL9nBA">
+      <tags>platform:win32</tags>
+    </bindings>
+  </bindingTables>
+  <bindingTables xmi:id="_AG9qeCxQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsf.facesconfig.editorContext" bindingContext="_AG-QayxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qeSxQEeymybzsuL9nBA" elementId="org.eclipse.jst.pagedesigner.editorContext" bindingContext="_AG-QYixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qeixQEeymybzsuL9nBA" bindingContext="_AG-QhSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qeyxQEeymybzsuL9nBA" bindingContext="_AG-QhixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qfCxQEeymybzsuL9nBA" bindingContext="_AG-QhyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qfSxQEeymybzsuL9nBA" bindingContext="_AG-QiCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qfixQEeymybzsuL9nBA" bindingContext="_AG-QiSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qfyxQEeymybzsuL9nBA" bindingContext="_AG-QiixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qgCxQEeymybzsuL9nBA" bindingContext="_AG-QiyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qgSxQEeymybzsuL9nBA" bindingContext="_AG-QjCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qgixQEeymybzsuL9nBA" bindingContext="_AG-QjSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qgyxQEeymybzsuL9nBA" bindingContext="_AG-QjixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qhCxQEeymybzsuL9nBA" bindingContext="_AG-QjyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qhSxQEeymybzsuL9nBA" bindingContext="_AG-QkCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qhixQEeymybzsuL9nBA" bindingContext="_AG-QkSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qhyxQEeymybzsuL9nBA" bindingContext="_AG-QkixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qiCxQEeymybzsuL9nBA" bindingContext="_AG-QkyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qiSxQEeymybzsuL9nBA" bindingContext="_AG-QlCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qiixQEeymybzsuL9nBA" bindingContext="_AG-QlSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qiyxQEeymybzsuL9nBA" bindingContext="_AG-QlixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qjCxQEeymybzsuL9nBA" bindingContext="_AG-QlyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qjSxQEeymybzsuL9nBA" bindingContext="_AG-QmCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qjixQEeymybzsuL9nBA" bindingContext="_AG-QmSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qjyxQEeymybzsuL9nBA" bindingContext="_AG-QmixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qkCxQEeymybzsuL9nBA" bindingContext="_AG-QmyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qkSxQEeymybzsuL9nBA" bindingContext="_AG-QnCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qkixQEeymybzsuL9nBA" bindingContext="_AG-QnSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qkyxQEeymybzsuL9nBA" bindingContext="_AG-QnixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qlCxQEeymybzsuL9nBA" bindingContext="_AG-QnyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qlSxQEeymybzsuL9nBA" bindingContext="_AG-QoCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qlixQEeymybzsuL9nBA" bindingContext="_AG-QoSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qlyxQEeymybzsuL9nBA" bindingContext="_AG-QoixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qmCxQEeymybzsuL9nBA" bindingContext="_AG-QoyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qmSxQEeymybzsuL9nBA" bindingContext="_AG-QpCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qmixQEeymybzsuL9nBA" bindingContext="_AG-QpSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qmyxQEeymybzsuL9nBA" bindingContext="_AG-QpixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qnCxQEeymybzsuL9nBA" bindingContext="_AG-QpyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qnSxQEeymybzsuL9nBA" bindingContext="_AG-QqCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qnixQEeymybzsuL9nBA" bindingContext="_AG-QqSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qnyxQEeymybzsuL9nBA" bindingContext="_AG-QqixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qoCxQEeymybzsuL9nBA" bindingContext="_AG-QqyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qoSxQEeymybzsuL9nBA" bindingContext="_AG-QrCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qoixQEeymybzsuL9nBA" bindingContext="_AG-QrSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qoyxQEeymybzsuL9nBA" bindingContext="_AG-QrixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qpCxQEeymybzsuL9nBA" bindingContext="_AG-QryxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qpSxQEeymybzsuL9nBA" bindingContext="_AG-QsCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qpixQEeymybzsuL9nBA" bindingContext="_AG-QsSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qpyxQEeymybzsuL9nBA" bindingContext="_AG-QsixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qqCxQEeymybzsuL9nBA" bindingContext="_AG-QsyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG9qqSxQEeymybzsuL9nBA" bindingContext="_AG-QtCxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG-QQCxQEeymybzsuL9nBA" bindingContext="_AG-QtSxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG-QQSxQEeymybzsuL9nBA" bindingContext="_AG-QtixQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG-QQixQEeymybzsuL9nBA" bindingContext="_AG-QtyxQEeymybzsuL9nBA"/>
+  <bindingTables xmi:id="_AG-QQyxQEeymybzsuL9nBA" bindingContext="_AG-QuCxQEeymybzsuL9nBA"/>
+  <rootContext xmi:id="_AG-QRCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.contexts.dialogAndWindow" contributorURI="platform:/plugin/org.eclipse.platform" name="In Dialogs and Windows" description="Either a dialog or a window is open">
+    <children xmi:id="_AG-QRSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.contexts.window" contributorURI="platform:/plugin/org.eclipse.platform" name="In Windows" description="A window is open">
+      <children xmi:id="_AG-QRixQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.contexts.views" contributorURI="platform:/plugin/org.eclipse.platform" name="%bindingcontext.name.bindingView"/>
+      <children xmi:id="_AG-QRyxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.EditContext" name="Terminal Control in Focus" description="Show modified keyboard shortcuts in context menu"/>
+      <children xmi:id="_AG-QSCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.BreakpointView" name="In Breakpoints View" description="The breakpoints view context"/>
+      <children xmi:id="_AG-QSSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.textEditorScope" name="Editing Text" description="Editing Text Context">
+        <children xmi:id="_AG-QSixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.javaEditorScope" name="Editing JavaScript Source" description="Editing JavaScript Source Context">
+          <children xmi:id="_AG-QSyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.javascriptViewScope" name="JavaScript View" description="JavaScript View Context"/>
+        </children>
+        <children xmi:id="_AG-QTCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.SQLEditorScope" name="Editing SQL" description="Editing SQL Context"/>
+        <children xmi:id="_AG-QTSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.classFileEditorScope" name="Browsing attached Java Source" description="Browsing attached Java Source Context"/>
+        <children xmi:id="_AG-QTixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.javaEditorScope" name="Editing Java Source" description="Editing Java Source Context"/>
+        <children xmi:id="_AG-QTyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.structuredTextEditorScope" name="Editing in Structured Text Editors" description="Editing in Structured Text Editors">
+          <children xmi:id="_AG-QUCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.cleanup" name="XML Source Cleanup" description="XML Source Cleanup"/>
+          <children xmi:id="_AG-QUSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.comments" name="Source Comments in Structured Text Editors" description="Source Comments in Structured Text Editors"/>
+          <children xmi:id="_AG-QUixQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsp.core.jspsource" name="JSP Source" description="JSP Source"/>
+          <children xmi:id="_AG-QUyxQEeymybzsuL9nBA" elementId="org.eclipse.core.runtime.xml" name="Editing XML Source" description="Editing XML Source"/>
+          <children xmi:id="_AG-QVCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.occurrences" name="XML Source Occurrences" description="XML Source Occurrences"/>
+          <children xmi:id="_AG-QVSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.grammar" name="XML Source Grammar" description="XML Source Grammar"/>
+          <children xmi:id="_AG-QVixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.comments" name="XML Source Comments" description="XML Source Comments"/>
+          <children xmi:id="_AG-QVyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.expand" name="XML Source Expand/Collapse" description="XML Source Expand/Collapse"/>
+          <children xmi:id="_AG-QWCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.hideFormat" name="Editing in Structured Text Editors" description="Editing in Structured Text Editors"/>
+          <children xmi:id="_AG-QWSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.selection" name="XML Source Selection" description="XML Source Selection"/>
+          <children xmi:id="_AG-QWixQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsp.ui.structured.text.editor.jsp.scope" name="Editing JSP Source" description="Editing JSP Source"/>
+          <children xmi:id="_AG-QWyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.navigation" name="XML Source Navigation" description="XML Source Navigation"/>
+          <children xmi:id="_AG-QXCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.json.core.jsonsource" name="%scope.structured.text.editor.json.name" description="%scope.structured.text.editor.json.description"/>
+          <children xmi:id="_AG-QXSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.css.core.csssource" name="Editing CSS Source" description="Editing CSS Source"/>
+          <children xmi:id="_AG-QXixQEeymybzsuL9nBA" elementId="org.eclipse.wst.html.core.htmlsource" name="Editing HTML Source" description="Editing HTML Source"/>
+          <children xmi:id="_AG-QXyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.dependencies" name="XML Source Dependencies" description="XML Source Dependencies"/>
+          <children xmi:id="_AG-QYCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.html.occurrences" name="HTML Source Occurrences" description="HTML Source Occurrences"/>
+        </children>
+        <children xmi:id="_AG-QYSxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.AntEditorScope" name="Editing Ant Buildfiles" description="Editing Ant Buildfiles Context"/>
+        <children xmi:id="_AG-QYixQEeymybzsuL9nBA" elementId="org.eclipse.jst.pagedesigner.editorContext" name="Using Web Page Editor" description="Key binding context when using the web page editor"/>
+        <children xmi:id="_AG-QYyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.pdeEditorContext" name="PDE editor" description="The context used by PDE editors"/>
+        <children xmi:id="_AG-QZCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.genericEditorContext" name="in Generic Code Editor" description="When editing in the Generic Code Editor"/>
+        <children xmi:id="_AG-QZSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsd.ui.text.editor.context" name="Editing XSD context"/>
+        <children xmi:id="_AG-QZixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.editors.task" name="In Tasks Editor"/>
+        <children xmi:id="_AG-QZyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.internal.wikitext.ui.editor.basicMarkupSourceContext" name="WikiText Markup Source Context" description="WikiText markup editing context">
+          <children xmi:id="_AG-QaCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.editor.markupSourceContext" name="WikiText Markup Source Context" description="WikiText markup editing context"/>
+          <children xmi:id="_AG-QaSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.tasks.ui.markupSourceContext" name="Task Markup Editor Source Context"/>
+        </children>
+        <children xmi:id="_AG-QaixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.propertiesEditorScope" name="Editing Properties Files" description="Editing Properties Files Context"/>
+        <children xmi:id="_AG-QayxQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsf.facesconfig.editorContext" name="In Faces Config Editor" description="Key binding context when using the Faces Config Editor"/>
+      </children>
+      <children xmi:id="_AG-QbCxQEeymybzsuL9nBA" elementId="org.eclipse.compare.compareEditorScope" name="Comparing in an Editor" description="Comparing in an Editor"/>
+      <children xmi:id="_AG-QbSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.memoryview" name="In Memory View" description="In memory view"/>
+      <children xmi:id="_AG-QbixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.schemaobjecteditor.schemaediting" name="Schema Object Editor" description="Schema Object Editor"/>
+      <children xmi:id="_AG-QbyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.console" name="In I/O Console" description="In I/O console"/>
+      <children xmi:id="_AG-QcCxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.view.ui.TerminalsView" name="In Terminal View" description="Show modified keyboard shortcuts in context menu"/>
+      <children xmi:id="_AG-QcSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" name="In Console View" description="In Console View"/>
+      <children xmi:id="_AG-QcixQEeymybzsuL9nBA" elementId="org.eclipse.ui.serverViewScope" name="In Servers View" description="In Servers View"/>
+      <children xmi:id="_AG-QcyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.debugging" name="Debugging" description="Debugging programs">
+        <children xmi:id="_AG-QdCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.memory.abstractasynctablerendering" name="In Table Memory Rendering" description="In Table Memory Rendering"/>
+        <children xmi:id="_AG-QdSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsl.debug.ui.context" name="XSLT Debugging" description="Context for debugging XSLT"/>
+        <children xmi:id="_AG-QdixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.debugging" name="Debugging Java" description="Debugging Java programs"/>
+      </children>
+      <children xmi:id="_AG-QdyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.ReflogView" name="In Git Reflog View"/>
+      <children xmi:id="_AG-QeCxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.TerminalContext" name="Terminal Typing Connected" description="Override ALT+x menu access keys while typing into the Terminal"/>
+      <children xmi:id="_AG-QeSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" name="In Tasks View"/>
+      <children xmi:id="_AG-QeixQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.contexts.taskview" name="In Gradle Tasks View" description="This context is activated when the Gradle Tasks view is in focus"/>
+      <children xmi:id="_AG-QeyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesView" name="In Git Repositories View"/>
+    </children>
+    <children xmi:id="_AG-QfCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.contexts.dialog" contributorURI="platform:/plugin/org.eclipse.platform" name="In Dialogs" description="A dialog is open"/>
+    <children xmi:id="_AG-QfSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.chromium.debug.ui.editors.JsEditor.context" name="Chromium Debug" description="Debug Chromium JavaScript"/>
+  </rootContext>
+  <rootContext xmi:id="_AG-QfixQEeymybzsuL9nBA" elementId="org.eclipse.ui.contexts.workbenchMenu" name="Workbench Menu" description="When no Workbench windows are active"/>
+  <rootContext xmi:id="_AG-QfyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.breadcrumbEditorScope" name="Editor Breadcrumb Navigation" description="Editor Breadcrumb Navigation Context"/>
+  <rootContext xmi:id="_AG-QgCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsd.ui.editor.sourceView" name="XSD Editor Source View" description="XSD Editor Source View"/>
+  <rootContext xmi:id="_AG-QgSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.wsdl.ui.editor.sourceView" name="WSDL Editor Source View" description="WSDL Editor Source View"/>
+  <rootContext xmi:id="_AG-QgixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsd.ui.editor.designView" name="XSD Editor Design View" description="XSD Editor Design View"/>
+  <rootContext xmi:id="_AG-QgyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.contexts.actionSet" name="Action Set" description="Parent context for action sets"/>
+  <rootContext xmi:id="_AG-QhCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.wsdl.ui.editor.designView" name="WSDL Editor Design View" description="WSDL Editor Design View"/>
+  <rootContext xmi:id="_AG-QhSxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.actionSet.presentation" name="Auto::org.eclipse.ant.ui.actionSet.presentation"/>
+  <rootContext xmi:id="_AG-QhixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqlscrapbook.actionSet" name="Auto::org.eclipse.datatools.sqltools.sqlscrapbook.actionSet"/>
+  <rootContext xmi:id="_AG-QhyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.breakpointActionSet" name="Auto::org.eclipse.debug.ui.breakpointActionSet"/>
+  <rootContext xmi:id="_AG-QiCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.debugActionSet" name="Auto::org.eclipse.debug.ui.debugActionSet"/>
+  <rootContext xmi:id="_AG-QiSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.launchActionSet" name="Auto::org.eclipse.debug.ui.launchActionSet"/>
+  <rootContext xmi:id="_AG-QiixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.profileActionSet" name="Auto::org.eclipse.debug.ui.profileActionSet"/>
+  <rootContext xmi:id="_AG-QiyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.CoverageActionSet" name="Auto::org.eclipse.eclemma.ui.CoverageActionSet"/>
+  <rootContext xmi:id="_AG-QjCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.gitaction" name="Auto::org.eclipse.egit.ui.gitaction"/>
+  <rootContext xmi:id="_AG-QjSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.navigation" name="Auto::org.eclipse.egit.ui.navigation"/>
+  <rootContext xmi:id="_AG-QjixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.JDTDebugActionSet" name="Auto::org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
+  <rootContext xmi:id="_AG-QjyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.JUnitActionSet" name="Auto::org.eclipse.jdt.junit.JUnitActionSet"/>
+  <rootContext xmi:id="_AG-QkCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.text.java.actionSet.presentation" name="Auto::org.eclipse.jdt.ui.text.java.actionSet.presentation"/>
+  <rootContext xmi:id="_AG-QkSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavaElementCreationActionSet" name="Auto::org.eclipse.jdt.ui.JavaElementCreationActionSet"/>
+  <rootContext xmi:id="_AG-QkixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavaActionSet" name="Auto::org.eclipse.jdt.ui.JavaActionSet"/>
+  <rootContext xmi:id="_AG-QkyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.A_OpenActionSet" name="Auto::org.eclipse.jdt.ui.A_OpenActionSet"/>
+  <rootContext xmi:id="_AG-QlCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.CodingActionSet" name="Auto::org.eclipse.jdt.ui.CodingActionSet"/>
+  <rootContext xmi:id="_AG-QlSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.SearchActionSet" name="Auto::org.eclipse.jdt.ui.SearchActionSet"/>
+  <rootContext xmi:id="_AG-QlixQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.actionSet.jpaElementCreation" name="Auto::org.eclipse.jpt.jpa.ui.actionSet.jpaElementCreation"/>
+  <rootContext xmi:id="_AG-QlyxQEeymybzsuL9nBA" elementId="org.eclipse.jst.j2ee.J2eeMainActionSet" name="Auto::org.eclipse.jst.j2ee.J2eeMainActionSet"/>
+  <rootContext xmi:id="_AG-QmCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.actionSet" name="Auto::org.eclipse.mylyn.context.ui.actionSet"/>
+  <rootContext xmi:id="_AG-QmSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.java.actionSet" name="Auto::org.eclipse.mylyn.java.actionSet"/>
+  <rootContext xmi:id="_AG-QmixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.java.actionSet.browsing" name="Auto::org.eclipse.mylyn.java.actionSet.browsing"/>
+  <rootContext xmi:id="_AG-QmyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.doc.actionSet" name="Auto::org.eclipse.mylyn.doc.actionSet"/>
+  <rootContext xmi:id="_AG-QnCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.navigation" name="Auto::org.eclipse.mylyn.tasks.ui.navigation"/>
+  <rootContext xmi:id="_AG-QnSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.navigation.additions" name="Auto::org.eclipse.mylyn.tasks.ui.navigation.additions"/>
+  <rootContext xmi:id="_AG-QnixQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.SearchActionSet" name="Auto::org.eclipse.pde.ui.SearchActionSet"/>
+  <rootContext xmi:id="_AG-QnyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.cheatsheets.actionSet" name="Auto::org.eclipse.ui.cheatsheets.actionSet"/>
+  <rootContext xmi:id="_AG-QoCxQEeymybzsuL9nBA" elementId="org.eclipse.rse.core.search.searchActionSet" name="Auto::org.eclipse.rse.core.search.searchActionSet"/>
+  <rootContext xmi:id="_AG-QoSxQEeymybzsuL9nBA" elementId="org.eclipse.search.searchActionSet" name="Auto::org.eclipse.search.searchActionSet"/>
+  <rootContext xmi:id="_AG-QoixQEeymybzsuL9nBA" elementId="org.eclipse.team.ui.actionSet" name="Auto::org.eclipse.team.ui.actionSet"/>
+  <rootContext xmi:id="_AG-QoyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.actionSet.annotationNavigation" name="Auto::org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
+  <rootContext xmi:id="_AG-QpCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.actionSet.navigation" name="Auto::org.eclipse.ui.edit.text.actionSet.navigation"/>
+  <rootContext xmi:id="_AG-QpSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo" name="Auto::org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
+  <rootContext xmi:id="_AG-QpixQEeymybzsuL9nBA" elementId="org.eclipse.ui.externaltools.ExternalToolsSet" name="Auto::org.eclipse.ui.externaltools.ExternalToolsSet"/>
+  <rootContext xmi:id="_AG-QpyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.NavigateActionSet" name="Auto::org.eclipse.ui.NavigateActionSet"/>
+  <rootContext xmi:id="_AG-QqCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.actionSet.keyBindings" name="Auto::org.eclipse.ui.actionSet.keyBindings"/>
+  <rootContext xmi:id="_AG-QqSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.WorkingSetModificationActionSet" name="Auto::org.eclipse.ui.WorkingSetModificationActionSet"/>
+  <rootContext xmi:id="_AG-QqixQEeymybzsuL9nBA" elementId="org.eclipse.ui.WorkingSetActionSet" name="Auto::org.eclipse.ui.WorkingSetActionSet"/>
+  <rootContext xmi:id="_AG-QqyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.actionSet.openFiles" name="Auto::org.eclipse.ui.actionSet.openFiles"/>
+  <rootContext xmi:id="_AG-QrCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.actionSet.presentation" name="Auto::org.eclipse.ui.edit.text.actionSet.presentation"/>
+  <rootContext xmi:id="_AG-QrSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.chromium.debug.ui.actionSets" name="Auto::org.eclipse.wst.jsdt.chromium.debug.ui.actionSets"/>
+  <rootContext xmi:id="_AG-QrixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.text.java.actionSet.presentation" name="Auto::org.eclipse.wst.jsdt.ui.text.java.actionSet.presentation"/>
+  <rootContext xmi:id="_AG-QryxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.JavaElementCreationActionSet" name="Auto::org.eclipse.wst.jsdt.ui.JavaElementCreationActionSet"/>
+  <rootContext xmi:id="_AG-QsCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.JavaActionSet" name="Auto::org.eclipse.wst.jsdt.ui.JavaActionSet"/>
+  <rootContext xmi:id="_AG-QsSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.A_OpenActionSet" name="Auto::org.eclipse.wst.jsdt.ui.A_OpenActionSet"/>
+  <rootContext xmi:id="_AG-QsixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.CodingActionSet" name="Auto::org.eclipse.wst.jsdt.ui.CodingActionSet"/>
+  <rootContext xmi:id="_AG-QsyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.SearchActionSet" name="Auto::org.eclipse.wst.jsdt.ui.SearchActionSet"/>
+  <rootContext xmi:id="_AG-QtCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.new.actionSet" name="Auto::org.eclipse.wst.server.ui.new.actionSet"/>
+  <rootContext xmi:id="_AG-QtSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.internal.webbrowser.actionSet" name="Auto::org.eclipse.wst.server.ui.internal.webbrowser.actionSet"/>
+  <rootContext xmi:id="_AG-QtixQEeymybzsuL9nBA" elementId="org.eclipse.wst.web.ui.wizardsActionSet" name="Auto::org.eclipse.wst.web.ui.wizardsActionSet"/>
+  <rootContext xmi:id="_AG-QtyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.ws.explorer.explorer" name="Auto::org.eclipse.wst.ws.explorer.explorer"/>
+  <rootContext xmi:id="_AG-QuCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.launching.localJavaApplication.internal.org.eclipse.debug.ui.DebugPerspective" name="Auto::org.eclipse.jdt.launching.localJavaApplication.internal.org.eclipse.debug.ui.DebugPerspective"/>
+  <descriptors xmi:id="_AG-QuSxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.compatibility.editor" allowMultiple="true" category="org.eclipse.e4.primaryDataStack" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor">
+    <tags>Editor</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QuixQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.views.AntView" label="Ant" iconURI="platform:/plugin/org.eclipse.ant.ui/icons/full/eview16/ant_view.png" tooltip="" category="Ant" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ant.internal.ui.views.AntView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ant.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Ant</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QuyxQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.views.taskview" label="Gradle Tasks" iconURI="platform:/plugin/org.eclipse.buildship.ui/icons/full/eview16/tasks_view.png" tooltip="" category="Gradle" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.buildship.ui.view.task.TaskView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.buildship.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Gradle</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QvCxQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.views.executionview" label="Gradle Executions" iconURI="platform:/plugin/org.eclipse.buildship.ui/icons/full/eview16/executions_view.png" tooltip="" category="Gradle" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.buildship.ui.view.execution.ExecutionsView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.buildship.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Gradle</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QvSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.DebugView" label="Debug" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/debug_view.png" tooltip="" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.launch.LaunchView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QvixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.BreakpointView" label="Breakpoints" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QvyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.VariableView" label="Variables" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/variable_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.variables.VariablesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QwCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ExpressionView" label="Expressions" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.expression.ExpressionView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QwSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.RegisterView" label="Registers" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/register_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.registers.RegistersView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QwixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.ModuleView" label="Modules" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/module_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.modules.ModulesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QwyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.MemoryView" label="Memory" iconURI="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/memory_view.png" tooltip="" allowMultiple="true" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.debug.internal.ui.views.memory.MemoryView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QxCxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.CoverageView" label="Coverage" iconURI="platform:/plugin/org.eclipse.eclemma.ui/icons/full/eview16/coverage.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.eclemma.internal.ui.coverageview.CoverageView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.eclemma.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QxSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesView" label="Git Repositories" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/repo_rep.png" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.egit.ui.internal.repository.RepositoriesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.egit.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Git</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QxixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.StagingView" label="Git Staging" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/staging.png" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.egit.ui.internal.staging.StagingView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.egit.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Git</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QxyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.InteractiveRebaseView" label="Git Interactive Rebase" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/rebase_interactive.png" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.egit.ui.internal.rebase.RebaseInteractiveView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.egit.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Git</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QyCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.CompareTreeView" label="Git Tree Compare" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/obj16/gitrepository.png" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.egit.ui.internal.dialogs.CompareTreeView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.egit.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Git</tags>
+    <tags>NoRestore</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QySxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.ReflogView" label="Git Reflog" iconURI="platform:/plugin/org.eclipse.egit.ui/icons/eview16/reflog.png" tooltip="" category="Git" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.egit.ui.internal.reflog.ReflogView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.egit.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Git</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QyixQEeymybzsuL9nBA" elementId="org.eclipse.gef.ui.palette_view" label="Palette" iconURI="platform:/plugin/org.eclipse.gef/icons/palette_view.gif" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.gef.ui.views.palette.PaletteView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.gef"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QyyxQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.HelpView" label="Help" iconURI="platform:/plugin/org.eclipse.help.ui/icons/view16/help_view.gif" tooltip="" category="Help" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.help.ui.internal.views.HelpView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.help.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Help</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QzCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.DisplayView" label="Debug Shell" iconURI="platform:/plugin/org.eclipse.jdt.debug.ui/icons/full/etool16/disp_sbook.png" tooltip="" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.debug.ui.display.DisplayView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.debug.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QzSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.ResultView" label="JUnit" iconURI="platform:/plugin/org.eclipse.jdt.junit/icons/full/eview16/junit.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.junit.ui.TestRunnerViewPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.junit"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QzixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackageExplorer" label="Package Explorer" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/package.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-QzyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" label="Type Hierarchy" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/class_hi.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q0CxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.ProjectsView" label="Projects" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/projects.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.browsing.ProjectsView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java Browsing</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q0SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackagesView" label="Packages" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/packages.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.browsing.PackagesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java Browsing</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q0ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypesView" label="Types" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/types.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.browsing.TypesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java Browsing</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q0yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.MembersView" label="Members" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/members.png" tooltip="" category="Java Browsing" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.browsing.MembersView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java Browsing</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q1CxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.callhierarchy.view" label="Call Hierarchy" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/call_hierarchy.png" tooltip="" allowMultiple="true" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.callhierarchy.CallHierarchyViewPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q1SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.texteditor.TemplatesView" label="Templates" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/templates.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.texteditor.templates.TemplatesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q1ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.SourceView" label="Declaration" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/source.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.infoviews.SourceView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q1yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavadocView" label="Javadoc" iconURI="platform:/plugin/org.eclipse.jdt.ui/icons/full/eview16/javadoc.png" tooltip="" category="Java" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.jdt.internal.ui.infoviews.JavadocView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.jdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Java</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q2CxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.views.MavenRepositoryView" label="Maven Repositories" iconURI="platform:/plugin/org.eclipse.m2e.core.ui/icons/maven_indexes.gif" tooltip="" category="Maven" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.m2e.core.ui.internal.views.MavenRepositoryView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.m2e.core.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Maven</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q2SxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.views.MavenBuild" label="Maven Workspace Build" iconURI="platform:/plugin/org.eclipse.ui/icons/full/eview16/defaultview_misc.png" tooltip="" category="Maven" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.m2e.core.ui.internal.views.build.BuildDebugView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.m2e.core.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Maven</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q2ixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.commons.repositories.ui.navigator.Repositories" label="Team Repositories" iconURI="platform:/plugin/org.eclipse.mylyn.commons.repositories.ui/icons/eview16/repositories.gif" tooltip="" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.mylyn.internal.commons.repositories.ui.RepositoriesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.mylyn.commons.repositories.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Mylyn</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q2yxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" label="Task List" iconURI="platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif" tooltip="" allowMultiple="true" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.mylyn.internal.tasks.ui.views.TaskListView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.mylyn.tasks.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Mylyn</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q3CxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.repositories" label="Task Repositories" iconURI="platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/eview16/repositories.gif" tooltip="" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.mylyn.internal.tasks.ui.views.TaskRepositoriesView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.mylyn.tasks.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Mylyn</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q3SxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.p2.ui.RepositoryExplorer" label="Repository Explorer" iconURI="platform:/plugin/org.eclipse.oomph.p2.ui/icons/obj16/repository.gif" tooltip="" category="Oomph" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.oomph.p2.internal.ui.RepositoryExplorer"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.oomph.p2.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Oomph</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q3ixQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.apidocs.rcp.views.apidocs" label="Augmented Docs" iconURI="platform:/plugin/org.eclipse.recommenders.apidocs.rcp/icons/view16/apidocs.png" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.recommenders.injection.ExtensionFactory"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.recommenders.apidocs.rcp"/>
+    <tags>View</tags>
+    <tags>categoryTag:Code Recommenders</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q3yxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.models.rcp.views.projectCoordinates" label="Project Coordinates" iconURI="platform:/plugin/org.eclipse.recommenders.coordinates.rcp/icons/view16/depinsp.gif" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.recommenders.injection.ExtensionFactory"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.recommenders.coordinates.rcp"/>
+    <tags>View</tags>
+    <tags>categoryTag:Code Recommenders</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q4CxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.models.rcp.views.modelRepositories" label="Model Repositories" iconURI="platform:/plugin/org.eclipse.recommenders.models.rcp/icons/view16/depinsp.gif" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.recommenders.injection.ExtensionFactory"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.recommenders.models.rcp"/>
+    <tags>View</tags>
+    <tags>categoryTag:Code Recommenders</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q4SxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.models.rcp.views.dependencyOverview" label="Dependency Overview" iconURI="platform:/plugin/org.eclipse.recommenders.models.rcp/icons/view16/depinsp.gif" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.recommenders.injection.ExtensionFactory"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.recommenders.models.rcp"/>
+    <tags>View</tags>
+    <tags>categoryTag:Code Recommenders</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q4ixQEeymybzsuL9nBA" elementId="org.eclipse.search.SearchResultView" label="Classic Search" iconURI="platform:/plugin/org.eclipse.search/icons/full/eview16/searchres.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.search.internal.ui.SearchResultView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.search"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q4yxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" label="Search" iconURI="platform:/plugin/org.eclipse.search/icons/full/eview16/searchres.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.search2.internal.ui.SearchView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.search"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q5CxQEeymybzsuL9nBA" elementId="org.eclipse.team.sync.views.SynchronizeView" label="Synchronize" iconURI="platform:/plugin/org.eclipse.team.ui/icons/full/eview16/synch_synch.png" tooltip="" allowMultiple="true" category="Team" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.team.internal.ui.synchronize.SynchronizeView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.team.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Team</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q5SxQEeymybzsuL9nBA" elementId="org.eclipse.team.ui.GenericHistoryView" label="History" iconURI="platform:/plugin/org.eclipse.team.ui/icons/full/eview16/history_view.png" tooltip="" allowMultiple="true" category="Team" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.team.internal.ui.history.GenericHistoryView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.team.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Team</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q5ixQEeymybzsuL9nBA" elementId="org.eclipse.tips.ide.tipPart" label="Tip of the Day" iconURI="platform:/plugin/org.eclipse.tips.ui/icons/lightbulb.png" tooltip="" category="Help" closeable="true" contributionURI="bundleclass://org.eclipse.tips.ide/org.eclipse.tips.ide.internal.TipPart">
+    <tags>View</tags>
+    <tags>categoryTag:Help</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q5yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.internal.introview" label="Welcome" iconURI="platform:/plugin/org.eclipse.ui/icons/full/eview16/defaultview_misc.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.ViewIntroAdapterPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q6CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.browser.view" label="Internal Web Browser" iconURI="platform:/plugin/org.eclipse.ui.browser/icons/obj16/internal_browser.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.browser.WebBrowserView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.browser"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q6SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="Cheat Sheets" iconURI="platform:/plugin/org.eclipse.ui.cheatsheets/icons/view16/cheatsheet_view.gif" tooltip="" category="Help" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.cheatsheets.views.CheatSheetView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.cheatsheets"/>
+    <tags>View</tags>
+    <tags>categoryTag:Help</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q6ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" label="Console" iconURI="platform:/plugin/org.eclipse.ui.console/icons/full/cview16/console_view.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.console.ConsoleView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.console"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q6yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" label="Progress" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/pview.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.progress.ProgressView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q7CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator" label="Navigator" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.views.navigator.ResourceNavigator"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q7SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.BookmarkView" label="Bookmarks" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.BookmarksView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q7ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.TaskList" label="Tasks" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.TasksView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q7yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" label="Problems" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.ProblemsView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q8CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.AllMarkersView" label="Markers" iconURI="platform:/plugin/org.eclipse.ui.ide/icons/full/eview16/problems_view.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.markers.AllMarkersView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.ide"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q8SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer" iconURI="platform:/plugin/org.eclipse.ui.navigator.resources/icons/full/eview16/resource_persp.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.navigator.resources.ProjectExplorer"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.navigator.resources"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q8ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" label="Properties" iconURI="platform:/plugin/org.eclipse.ui.views/icons/full/eview16/prop_ps.png" tooltip="" allowMultiple="true" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.views.properties.PropertySheet"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.views"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q8yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline" label="Outline" iconURI="platform:/plugin/org.eclipse.ui.views/icons/full/eview16/outline_co.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.views.contentoutline.ContentOutline"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.views"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q9CxQEeymybzsuL9nBA" elementId="org.eclipse.pde.runtime.LogView" label="Error Log" iconURI="platform:/plugin/org.eclipse.ui.views.log/icons/eview16/error_log.png" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.ui.internal.views.log.LogView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.ui.views.log"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q9SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" label="Snippets" iconURI="platform:/plugin/org.eclipse.wst.common.snippets/icons/snippets_view.gif" tooltip="" category="General" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.common.snippets.internal.ui.SnippetsView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.common.snippets"/>
+    <tags>View</tags>
+    <tags>categoryTag:General</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q9ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.views.annotations.XMLAnnotationsView" label="Documentation" iconURI="platform:/plugin/org.eclipse.wst.xml.ui/icons/full/obj16/comment_obj.gif" tooltip="" category="XML" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.xml.ui.internal.views.annotations.XMLAnnotationsView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.xml.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:XML</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q9yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.contentmodel.view" label="Content Model" iconURI="platform:/plugin/org.eclipse.wst.xml.ui/icons/full/view16/hierarchy.gif" tooltip="" category="XML" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.xml.ui.internal.views.contentmodel.ContentModelView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.xml.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:XML</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q-CxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.navigator.builds" label="Builds" iconURI="platform:/plugin/org.eclipse.mylyn.builds.ui/icons/eview16/build-view.png" tooltip="" category="Mylyn" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.mylyn.internal.builds.ui.view.BuildsView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.mylyn.builds.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Mylyn</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q-SxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.snipmatch.rcp.views.snippets" label="Snippets" iconURI="platform:/plugin/org.eclipse.recommenders.snipmatch.rcp/icons/view16/snippets.png" tooltip="" category="Code Recommenders" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.recommenders.injection.ExtensionFactory"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.recommenders.snipmatch.rcp"/>
+    <tags>View</tags>
+    <tags>categoryTag:Code Recommenders</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q-ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.internet.monitor.view" label="TCP/IP Monitor" iconURI="platform:/plugin/org.eclipse.wst.internet.monitor.ui/icons/cview16/monitorView.gif" tooltip="" category="Debug" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.internet.monitor.ui.internal.view.MonitorView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.internet.monitor.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Debug</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q-yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.TypeHierarchy" label="Hierarchy" iconURI="platform:/plugin/org.eclipse.wst.jsdt.ui/icons/full/eview16/class_hi.gif" tooltip="" category="JavaScript" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.jsdt.internal.ui.typehierarchy.TypeHierarchyViewPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.jsdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:JavaScript</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q_CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.PackageExplorer" label="Script Explorer" iconURI="platform:/plugin/org.eclipse.wst.jsdt.ui/icons/full/eview16/package.gif" tooltip="" category="JavaScript" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.jsdt.internal.ui.packageview.PackageExplorerPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.jsdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:JavaScript</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q_SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.callhierarchy.view" label="Call Hierarchy" iconURI="platform:/plugin/org.eclipse.wst.jsdt.ui/icons/full/eview16/call_hierarchy.gif" tooltip="" category="JavaScript" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.jsdt.internal.ui.callhierarchy.CallHierarchyViewPart"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.jsdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:JavaScript</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q_ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.SourceView" label="Declaration" iconURI="platform:/plugin/org.eclipse.wst.jsdt.ui/icons/full/eview16/source.gif" tooltip="" category="JavaScript" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.jsdt.internal.ui.infoviews.SourceView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.jsdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:JavaScript</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-Q_yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.JavadocView" label="Documentation" iconURI="platform:/plugin/org.eclipse.wst.jsdt.ui/icons/full/eview16/javadoc.gif" tooltip="JavaScript Documentation" category="JavaScript" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.jsdt.internal.ui.infoviews.JavadocView"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.jsdt.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:JavaScript</tags>
+  </descriptors>
+  <descriptors xmi:id="_AG-RACxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView" label="Servers" iconURI="platform:/plugin/org.eclipse.wst.server.ui/icons/cview16/servers_view.gif" tooltip="" category="Server" closeable="true" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView">
+    <persistedState key="originalCompatibilityViewClass" value="org.eclipse.wst.server.ui.internal.cnf.ServersView2"/>
+    <persistedState key="originalCompatibilityViewBundle" value="org.eclipse.wst.server.ui"/>
+    <tags>View</tags>
+    <tags>categoryTag:Server</tags>
+  </descriptors>
+  <trimContributions xmi:id="_VJSd4NrlEeWx1NC92N4qRw" elementId="org.eclipse.recommenders.news.rcp.trimConstribution.news" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" parentId="org.eclipse.ui.trim.status">
+    <children xsi:type="menu:ToolControl" xmi:id="_ckfB0OFAEeWdb5xZgv0Dbw" elementId="org.eclipse.recommenders.news.rcp.toolControl.news" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" contributionURI="bundleclass://org.eclipse.recommenders.news.rcp/org.eclipse.recommenders.internal.news.rcp.toolbar.NewsToolControl"/>
+  </trimContributions>
+  <trimContributions xmi:id="_2r10UF9tEeO-yojH_y4TJA" elementId="org.eclipse.ui.ide.application.trimcontribution.QuickAccess" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" toBeRendered="false" parentId="org.eclipse.ui.main.toolbar" positionInParent="last">
+    <children xsi:type="menu:ToolControl" xmi:id="_76uUAF9tEeO-yojH_y4TJA" elementId="Spacer Glue" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.LayoutModifierToolControl">
+      <tags>glue</tags>
+      <tags>move_after:PerspectiveSpacer</tags>
+      <tags>SHOW_RESTORE_MENU</tags>
+    </children>
+    <children xsi:type="menu:ToolControl" xmi:id="_8tJPcF9tEeO-yojH_y4TJA" elementId="SearchField" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.quickaccess.SearchField">
+      <tags>move_after:Spacer Glue</tags>
+      <tags>HIDEABLE</tags>
+      <tags>SHOW_RESTORE_MENU</tags>
+    </children>
+    <children xsi:type="menu:ToolControl" xmi:id="_9LgmcF9tEeO-yojH_y4TJA" elementId="Search-PS Glue" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.LayoutModifierToolControl">
+      <tags>glue</tags>
+      <tags>move_after:SearchField</tags>
+      <tags>SHOW_RESTORE_MENU</tags>
+    </children>
+  </trimContributions>
+  <snippets xsi:type="advanced:Perspective" xmi:id="_AG_f2ixQEeymybzsuL9nBA" elementId="org.eclipse.jst.j2ee.J2EEPerspective.&lt;Java EE>" selectedElement="_AG_f2yxQEeymybzsuL9nBA" label="&lt;Java EE>" iconURI="platform:/plugin/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_perspective.gif">
+    <persistedState key="persp.hiddenItems" value="persp.hideToolbarSC:print,persp.hideToolbarSC:org.eclipse.ui.edit.undo,persp.hideToolbarSC:org.eclipse.ui.edit.redo,persp.hideToolbarSC:org.eclipse.ui.edit.text.toggleShowSelectedElementOnly,persp.hideToolbarSC:org.eclipse.debug.ui.commands.RunToLine,persp.hideToolbarSC:org.eclipse.jdt.ui.actions.OpenProjectWizard,"/>
+    <tags>persp.actionSet:org.eclipse.mylyn.doc.actionSet</tags>
+    <tags>persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation</tags>
+    <tags>persp.actionSet:org.eclipse.ui.cheatsheets.actionSet</tags>
+    <tags>persp.actionSet:org.eclipse.rse.core.search.searchActionSet</tags>
+    <tags>persp.actionSet:org.eclipse.search.searchActionSet</tags>
+    <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation</tags>
+    <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation</tags>
+    <tags>persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo</tags>
+    <tags>persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet</tags>
+    <tags>persp.actionSet:org.eclipse.ui.actionSet.keyBindings</tags>
+    <tags>persp.actionSet:org.eclipse.ui.actionSet.openFiles</tags>
+    <tags>persp.actionSet:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets</tags>
+    <tags>persp.actionSet:org.eclipse.jst.j2ee.J2eeMainActionSet</tags>
+    <tags>persp.actionSet:org.eclipse.jdt.ui.JavaActionSet</tags>
+    <tags>persp.actionSet:org.eclipse.debug.ui.launchActionSet</tags>
+    <tags>persp.actionSet:org.eclipse.debug.ui.debugActionSet</tags>
+    <tags>persp.actionSet:org.eclipse.ui.NavigateActionSet</tags>
+    <tags>persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer</tags>
+    <tags>persp.viewSC:org.eclipse.wst.server.ui.ServersView</tags>
+    <tags>persp.viewSC:org.eclipse.datatools.connectivity.DataSourceExplorerNavigator</tags>
+    <tags>persp.viewSC:org.eclipse.ui.views.BookmarkView</tags>
+    <tags>persp.viewSC:org.eclipse.ui.views.ContentOutline</tags>
+    <tags>persp.viewSC:org.eclipse.ui.views.PropertySheet</tags>
+    <tags>persp.viewSC:org.eclipse.ui.views.ResourceNavigator</tags>
+    <tags>persp.viewSC:org.eclipse.wst.common.snippets.internal.ui.SnippetsView</tags>
+    <tags>persp.viewSC:org.eclipse.ui.views.AllMarkersView</tags>
+    <tags>persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks</tags>
+    <tags>persp.viewSC:org.eclipse.search.ui.views.SearchView</tags>
+    <tags>persp.viewSC:org.eclipse.ui.console.ConsoleView</tags>
+    <tags>persp.showIn:org.eclipse.ui.navigator.ProjectExplorer</tags>
+    <tags>persp.actionSet:org.eclipse.wst.ws.explorer.explorer</tags>
+    <tags>persp.newWizSC:org.eclipse.m2e.core.wizards.Maven2ProjectWizard</tags>
+    <tags>persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView</tags>
+    <tags>persp.perspSC:org.eclipse.debug.ui.DebugPerspective</tags>
+    <tags>persp.perspSC:org.eclipse.jdt.ui.JavaPerspective</tags>
+    <tags>persp.perspSC:org.eclipse.ui.resourcePerspective</tags>
+    <tags>persp.perspSC:org.eclipse.wst.web.ui.webDevPerspective</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jpt.ui.wizard.newJpaProject</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard</tags>
+    <tags>persp.newWizSC:org.eclipse.jpt.ui.wizard.newEntity</tags>
+    <tags>persp.newWizSC:org.eclipse.jst.ws.creation.ui.wizard.serverwizard</tags>
+    <tags>persp.newWizSC:org.eclipse.ui.wizards.new.folder</tags>
+    <tags>persp.newWizSC:org.eclipse.ui.wizards.new.file</tags>
+    <tags>persp.actionSet:org.eclipse.wst.server.ui.internal.webbrowser.actionSet</tags>
+    <tags>persp.actionSet:org.eclipse.debug.ui.breakpointActionSet</tags>
+    <tags>persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet</tags>
+    <tags>persp.showIn:org.eclipse.eclemma.ui.CoverageView</tags>
+    <tags>persp.newWizSC:org.eclipse.jpt.jpa.ui.wizard.newJpaProject</tags>
+    <tags>persp.perspSC:org.eclipse.jpt.ui.jpaPerspective</tags>
+    <children xsi:type="basic:PartSashContainer" xmi:id="_AG_f2yxQEeymybzsuL9nBA" selectedElement="_AG_f4SxQEeymybzsuL9nBA" horizontal="true">
+      <children xsi:type="basic:PartStack" xmi:id="_AG_f3CxQEeymybzsuL9nBA" elementId="topLeft" containerData="1929" selectedElement="_AG_f3SxQEeymybzsuL9nBA">
+        <children xsi:type="advanced:Placeholder" xmi:id="_AG_f3SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.ProjectExplorer" closeable="true">
+          <tags>View</tags>
+          <tags>categoryTag:General</tags>
+        </children>
+        <children xsi:type="advanced:Placeholder" xmi:id="_AG_f3ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ResourceNavigator" toBeRendered="false" closeable="true">
+          <tags>View</tags>
+          <tags>categoryTag:General</tags>
+        </children>
+        <children xsi:type="advanced:Placeholder" xmi:id="_AG_f3yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.TypeHierarchy" toBeRendered="false" closeable="true">
+          <tags>View</tags>
+          <tags>categoryTag:Java</tags>
+        </children>
+        <children xsi:type="advanced:Placeholder" xmi:id="_AG_f4CxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.PackagesView" toBeRendered="false" closeable="true">
+          <tags>View</tags>
+          <tags>categoryTag:Java Browsing</tags>
+        </children>
+      </children>
+      <children xsi:type="basic:PartSashContainer" xmi:id="_AG_f4SxQEeymybzsuL9nBA" containerData="8071" selectedElement="_AG_f4ixQEeymybzsuL9nBA">
+        <children xsi:type="basic:PartSashContainer" xmi:id="_AG_f4ixQEeymybzsuL9nBA" containerData="7458" selectedElement="_AG_f4yxQEeymybzsuL9nBA" horizontal="true">
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f4yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editorss" containerData="7847"/>
+          <children xsi:type="basic:PartStack" xmi:id="_AG_f5CxQEeymybzsuL9nBA" elementId="topRight" containerData="2153" selectedElement="_AG_f5SxQEeymybzsuL9nBA">
+            <children xsi:type="advanced:Placeholder" xmi:id="_AG_f5SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ContentOutline" closeable="true">
+              <tags>View</tags>
+              <tags>categoryTag:General</tags>
+            </children>
+            <children xsi:type="advanced:Placeholder" xmi:id="_AG_f5ixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.views.tasks" closeable="true">
+              <tags>View</tags>
+              <tags>categoryTag:Mylyn</tags>
+            </children>
+          </children>
+        </children>
+        <children xsi:type="basic:PartStack" xmi:id="_AG_f5yxQEeymybzsuL9nBA" elementId="bottomRight" containerData="2542" selectedElement="_AG_f7yxQEeymybzsuL9nBA">
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f6CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.AllMarkersView" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f6SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.PropertySheet" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f6ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui.ServersView" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:Server</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f6yxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:Data Management</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f7CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f7SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProblemView" toBeRendered="false" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f7ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.TaskList" toBeRendered="false" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f7yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.console.ConsoleView" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f8CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.BookmarkView" toBeRendered="false" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f8SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.ProgressView" toBeRendered="false" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+          <children xsi:type="advanced:Placeholder" xmi:id="_AG_f8ixQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.views.SearchView" closeable="true">
+            <tags>View</tags>
+            <tags>categoryTag:General</tags>
+          </children>
+        </children>
+      </children>
+    </children>
+  </snippets>
+  <commands xmi:id="_AG_f8yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.customizePerspective" contributorURI="platform:/plugin/org.eclipse.platform" commandName="Customize Perspective" description="Customize the current perspective"/>
+  <commands xmi:id="_AG_f9CxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.inlineLocal.assist" commandName="Quick Assist - Inline local variable" description="Invokes quick assist and selects 'Inline local variable'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f9SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.pageUp" commandName="Select Page Up" description="Select to the top of the page" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f9ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.toggleWordWrap" commandName="Toggle Word Wrap" description="Toggle word wrap in the current text editor" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f9yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.ResetQuickdiffBaseline" commandName="Reset quickdiff baseline" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AG_f-CxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.ResetQuickdiffBaselineTarget" name="Reset target (HEAD, HEAD^1)" optional="false"/>
+  </commands>
+  <commands xmi:id="_AG_f-SxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.p2.ui.SearchRequirements" commandName="Search Requirements" category="_AHBUOCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f-ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.convertLocalToField.assist" commandName="Quick Assist - Convert local variable to field" description="Invokes quick assist and selects 'Convert local variable to field'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f-yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.addThrowsDecl" commandName="Quick Fix - Add throws declaration" description="Invokes quick assist and selects 'Add throws declaration'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f_CxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.junitPluginShortcut.coverage" commandName="Coverage JUnit Plug-in Test" description="Coverage JUnit Plug-in Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f_SxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.maximize" commandName="Maximize Active View or Editor" category="_AHBUUyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f_ixQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.openDiscoveredType" commandName="Open Discovered Type" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_f_yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.deletePreviousWord" commandName="Delete Previous Word" description="Delete the previous word" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gACxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.workspace" commandName="Declaration in Workspace" description="Search for declarations of the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gASxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.commands.showElementInTypeHierarchyView" commandName="Show JavaScript Element Type Hierarchy" description="Show a JavaScript element in the Type Hierarchy view" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AG_gAixQEeymybzsuL9nBA" elementId="elementRef" name="JavaScript element reference" typeId="org.eclipse.wst.jsdt.ui.commands.javaElementReference" optional="false"/>
+  </commands>
+  <commands xmi:id="_AG_gAyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.delimiter.unix" commandName="Convert Line Delimiters to Unix (LF, \n, 0A, &#xb6;)" description="Converts the line delimiters to Unix (LF, \n, 0A, &#xb6;)" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gBCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.references.in.working.set" commandName="References in Working Set" description="Search for references to the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gBSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.working.set" commandName="Read Access in Working Set" description="Search for read references to the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gBixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.Edit" commandName="Edit Commit" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gByxQEeymybzsuL9nBA" elementId="org.eclipse.epp.mpc.ui.command.showMarketplaceWizard" commandName="Eclipse Marketplace" description="Show the Eclipse Marketplace wizard" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AG_gCCxQEeymybzsuL9nBA" elementId="trigger" name="trigger"/>
+  </commands>
+  <commands xmi:id="_AG_gCSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.js.grunt.commands.gruntLaunch" commandName="Run as Grunt Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gCixQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.toggleMarkOccurrences" commandName="Toggle Ant Mark Occurrences" description="Toggles mark occurrences in Ant editors" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gCyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.addToWorkingSet" commandName="Add to Working Set" description="Adds the selected object to a working set." category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gDCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.callhierarchy.view" commandName="JavaScript Call Hierarchy" description="Show the Call Hierarchy view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gDSxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.commands.export" commandName="Export Profiles Command" description="Command to export connection profiles" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gDixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.junitShortcut.debug" commandName="Debug JUnit Test" description="Debug JUnit Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gDyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.editor.showCheatSheetCommand" commandName="Show Markup Cheat Sheet" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gECxQEeymybzsuL9nBA" elementId="org.eclipse.team.ui.TeamSynchronizingPerspective" commandName="Team Synchronizing" description="Open the Team Synchronizing Perspective" category="_AHBUVyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gESxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.open.declaration.command" commandName="Open Declaration" description="Opens the Ant editor on the referenced element" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gEixQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.commands.openBrowserDialog" commandName="Open a Web browser" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AG_gEyxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.linkContribution.href" name="URI" optional="false"/>
+  </commands>
+  <commands xmi:id="_AG_gFCxQEeymybzsuL9nBA" elementId="org.eclipse.epp.mpc.ui.command.showInstalled" commandName="Manage installed plug-ins" description="Update or uninstall plug-ins installed from the Marketplace" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gFSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.create.delegate.methods" commandName="Generate Delegate Methods" description="Add delegate methods for a type's fields" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gFixQEeymybzsuL9nBA" elementId="org.eclipse.gef.ui.palette_view" commandName="Palette" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gFyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.views.XPathView.prefixes" commandName="&amp;Edit Namespace Prefixes" category="_AHBUOyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gGCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.toggleCommentAction" commandName="Toggle Comment" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gGSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.task.clearContext" commandName="Clear Context" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gGixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.write.access.in.working.set" commandName="Write Access in Working Set" description="Search for write references to the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gGyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.read.access.in.hierarchy" commandName="Read Access in Hierarchy" description="Search for read references of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gHCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.pull.up" commandName="Pull Up" description="Move members to a superclass" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gHSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.ToggleLineBreakpoint" commandName="Toggle Line Breakpoint" description="Creates or removes a line breakpoint" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gHixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.searchForTask" commandName="Search Repository for Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gHyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.folding.collapseMembers" commandName="Collapse Members" description="Collapse all members" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gICxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.addImport" commandName="Quick Fix - Add import" description="Invokes quick assist and selects 'Add import'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gISxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.write.access.in.project" commandName="Write Access in Project" description="Search for write references to the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gIixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.internal.reflog.CheckoutCommand" commandName="Check Out" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gIyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.move" commandName="Move..." description="Move the selected item" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gJCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.refactor.migrate.jar" commandName="Migrate JAR File" description="Migrate a JAR File to a new version" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gJSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.maximizePart" commandName="Maximize Part" description="Maximize Part" category="_AHBURSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gJixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.show.outline" commandName="Quick Outline" description="Show the quick outline for the editor input" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gJyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.commands.openElementInEditor" commandName="Open JavaScript Element" description="Open a JavaScript element in its editor" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AG_gKCxQEeymybzsuL9nBA" elementId="elementRef" name="JavaScript element reference" typeId="org.eclipse.wst.jsdt.ui.commands.javaElementReference" optional="false"/>
+  </commands>
+  <commands xmi:id="_AG_gKSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.TypesView" commandName="JavaScript Types" description="Show the Types view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gKixQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.internal.actions.showconsoleviewercommand" commandName="Show Recent Logs" description="Show Recent Logs" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gKyxQEeymybzsuL9nBA" elementId="org.eclipse.compare.ignoreWhiteSpace" commandName="Ignore White Space" description="Ignore white space where applicable" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gLCxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.importProjects" commandName="Import Projects" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gLSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.write.access.in.hierarchy" commandName="Write Access in Hierarchy" description="Search for write references of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gLixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.hideUnusedElements" commandName="Hide Unused Elements" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gLyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.generate.constructor.using.fields" commandName="Generate Constructor using Fields" description="Choose fields to initialize and constructor from superclass to call " category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gMCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.disable.grammar.constraints" commandName="Turn off Grammar Constraints" description="Turn off grammar Constraints" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gMSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.commands.showElementInTypeHierarchyView" commandName="Show Java Element Type Hierarchy" description="Show a Java element in the Type Hierarchy view" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AG_gMixQEeymybzsuL9nBA" elementId="elementRef" name="Java element reference" typeId="org.eclipse.jdt.ui.commands.javaElementReference" optional="false"/>
+  </commands>
+  <commands xmi:id="_AG_gMyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.goToResource" commandName="Go to" description="Go to a particular resource in the active view" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gNCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.open.super.implementation" commandName="Open Super Implementation" description="Open the Implementation in the Super Type" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gNSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.resetPerspective" commandName="Reset Perspective" description="Reset the current perspective to its default state" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gNixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.quickOutlineCommand" commandName="Quick Outline" description="Open a popup dialog with a quick outline of the current document" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gNyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.references.in.project" commandName="References in Project" description="Search for references to the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gOCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.MembersView" commandName="JavaScript Members" description="Show the Members view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gOSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.buildLast" commandName="Repeat Working Set Build" description="Repeat the last working set build" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gOixQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.buildProject" commandName="Build Project" description="Build the selected project" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gOyxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.commands.openBrowser" commandName="Open a Web browser" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AG_gPCxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.linkContribution.href" name="URI" optional="false"/>
+  </commands>
+  <commands xmi:id="_AG_gPSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.discoveryWizardCommand" commandName="Discovery Wizard" description="shows the connector discovery wizard" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gPixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.textStart" commandName="Text Start" description="Go to the beginning of the text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gPyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.localJavaShortcut.coverage" commandName="Coverage Java Application" description="Coverage Java Application" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AG_gQCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.paste" commandName="Paste" description="Paste from the clipboard" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFcCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.declarations.in.working.set" commandName="Declaration in Working Set" description="Search for declarations of the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFcSxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.refreshCache" commandName="Refresh Remote Cache" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFcixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.qualifyField" commandName="Quick Fix - Qualify var access" description="Invokes quick assist and selects 'Qualify var access'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFcyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.javaAppletShortcut.run" commandName="Run Java Applet" description="Run Java Applet" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFdCxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.exportSession" commandName="Export Session..." category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFdSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.previous" commandName="Previous" description="Navigate to the previous item" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFdixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.scalaShortcut.coverage" commandName="Coverage Scala Application" description="Coverage Scala Application" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFdyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.clean" commandName="Clean..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFeCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.rename" commandName="Rename" description="Rename the selected item" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFeSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.buildAll" commandName="Build All" description="Build all projects" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFeixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.OpenInTextEditorCommand" commandName="Open in Text Editor" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFeyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.dumpExecutionData" commandName="Dump Execution Data" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFfCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.cut.line.to.beginning" commandName="Cut to Beginning of Line" description="Cut to the beginning of a line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFfSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.select.enclosing" commandName="Select Enclosing Element" description="Expand selection to include enclosing element" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFfixQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.commands.runtasks" commandName="Run Gradle Tasks" description="Runs all the selected Gradle tasks" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFfyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.toggleBreadcrumb" commandName="Toggle Java Editor Breadcrumb" description="Toggle the Java editor breadcrumb" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFgCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editors.revisions.rendering.cycle" commandName="Cycle Revision Coloring Mode" description="Cycles through the available coloring modes for revisions" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFgSxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.renameInFile" commandName="Rename In File" description="Renames all references within the same buildfile" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFgixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.open.type.hierarchy" commandName="Open Type Hierarchy" description="Open a type hierarchy on the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFgyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.debug.ui.script.opensource" commandName="Open Source" description="Shows the JavaScript source for the selected script element" category="_AHBUSixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFhCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.extract.interface" commandName="Extract Interface" description="Extract a set of members into a new interface and try to use the new interface" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFhSxQEeymybzsuL9nBA" elementId="org.eclipse.ltk.ui.refactoring.commands.moveResources" commandName="Move Resources" description="Move the selected resources and notify LTK participants." category="_AHBUWCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFhixQEeymybzsuL9nBA" elementId="org.eclipse.m2e.actions.LifeCycleGenerateSources.run" commandName="Run Maven Generate Sources" description="Run Maven Generate Sources" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFhyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.StepInto" commandName="Step Into" description="Step into" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFiCxQEeymybzsuL9nBA" elementId="org.eclipse.jst.ws.jaxws.ui.configure.handlers" commandName="Configure Handlers" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFiSxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.importer.openDirectory" commandName="Open Projects from File System..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFiixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.structure.select.previous" commandName="Select Previous Element" description="Expand selection to include previous sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFiyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.AddExceptionBreakpoint" commandName="Add Java Exception Breakpoint" description="Add a Java exception breakpoint" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFjCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.open.call.hierarchy" commandName="Open Call Hierarchy" description="Open a call hierarchy on the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFjSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewClearCredentials" commandName="Clear Credentials" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFjixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.add.import" commandName="Add Import" description="Create import statement on selection" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFjyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.ToggleTracepoint" commandName="Toggle Tracepoint" description="Creates or removes a tracepoint  " category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFkCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.convertToMarkupCommand" commandName="Generate Markup" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAFkSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.targetLanguage" name="TargetLanguage" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAFkixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.add.unimplemented.constructors" commandName="Generate Constructors from Superclass" description="Evaluate and add constructors from superclass" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFkyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.showToolTip" commandName="Show Tooltip Description" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFlCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.debug.ui.breakpoint.properties" commandName="JavaScript Breakpoint Properties" description="View and edit the properties for a given JavaScript breakpoint" category="_AHBUSixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFlSxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.junitShortcut.coverage" commandName="Coverage JUnit Test" description="Coverage JUnit Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFlixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.task.copyContext" commandName="Copy Context" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFlyxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.view.ui.command.launchToolbar" commandName="Open Local Terminal on Selection" category="_AHBUSyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFmCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.showViewMenu" commandName="Show View Menu" description="Show the view menu" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFmSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Commit" commandName="Commit..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFmixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.inline" commandName="Inline" description="Inline a constant, local variable or method" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFmyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.shiftRight" commandName="Shift Right" description="Shift a block of text to the right" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFnCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.backwardHistory" commandName="Backward History" description="Move backward in the editor navigation history" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFnSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.implementors.in.working.set" commandName="Implementors in Working Set" description="Search for implementors of the selected interface in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFnixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.workbenchShortcut.coverage" commandName="Coverage Eclipse Application" description="Coverage Eclipse Application" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFnyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.removeTrailingWhitespace" commandName="Remove Trailing Whitespace" description="Removes the trailing whitespace of each line" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFoCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.findIncremental" commandName="Incremental Find" description="Incremental find" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFoSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.inlineLocal.assist" commandName="Quick Assist - Inline local variable" description="Invokes quick assist and selects 'Inline local variable'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFoixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.convert.anonymous.to.nested" commandName="Convert Anonymous Class to Nested" description="Convert an anonymous class to a nested class" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFoyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.newEntity" commandName="JPA Entity" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFpCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.assignToLocal.assist" commandName="Quick Assist - Assign to local variable" description="Invokes quick assist and selects 'Assign to local variable'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFpSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.ImportChangedProjectsCommandId" commandName="Import Changed Projects" description="Import or create in local Git repository" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFpixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.commands.OpenCoverageConfiguration" commandName="Coverage Configurations..." description="Coverage Configurations..." category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFpyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.return.continue.targets" commandName="Search break/continue Target Occurrences in File" description="Search for break/continue target occurrences of a selected target name" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFqCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.format" commandName="Format" description="Format the selected text" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFqSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.change.type" commandName="Generalize Declared Type" description="Change the declaration of a selected variable to a more general type consistent with usage" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFqixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.create.getter.setter" commandName="Generate Getters and Setters" description="Generate Getter and Setter methods for type's fields" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFqyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.edit.text.format" commandName="Format Source" description="Format a PDE Source Page" category="_AHBUPixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFrCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.result.terminate" commandName="Terminate Result" category="_AHBUNCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFrSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.select.next" commandName="Select Next Element" description="Expand selection to include next sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFrixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewNewRemote" commandName="Create Remote..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFryxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.generate.hashcode.equals" commandName="Generate hashCode() and equals()" description="Generates hashCode() and equals() functions for the type" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFsCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.Restart" commandName="Restart" description="Restart a process or debug target without terminating and re-launching" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFsSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.delete.line" commandName="Delete Line" description="Delete a line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFsixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.organize.imports" commandName="Organize Imports" description="Evaluate all required imports and replace the current imports" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFsyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.remove.block.comment" commandName="Remove Block Comment" description="Remove the block comment enclosing the selection" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFtCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.open.implementation" commandName="Open Implementation" description="Opens the Implementations of a method or a type in its hierarchy" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFtSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.gotoTest" commandName="Referring Tests" description="Referring Tests" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFtixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.find.broken.nls.keys" commandName="Find Broken Externalized Strings" description="Finds undefined, duplicate and unused externalized string keys in property files" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFtyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.openSessionExecutionData" commandName="Open Execution Data" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFuCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.commands.showElementInPackageView" commandName="Show Java Element in Package Explorer" description="Select Java element in the Package Explorer view" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAFuSxQEeymybzsuL9nBA" elementId="elementRef" name="Java element reference" typeId="org.eclipse.jdt.ui.commands.javaElementReference" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAFuixQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.performDropdown" commandName="Perform Dropdown" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFuyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.InstanceCount" commandName="Instance Count" description="View the instance count of the selected type loaded in the target VM" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFvCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.create.getter.setter" commandName="Generate Getters and Setters" description="Generate Getter and Setter functions for type's vars" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFvSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.findReplace" commandName="Find and Replace" description="Find and replace text" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFvixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.MergeTool" commandName="Merge Tool" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFvyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.addAllPluginsToJavaSearch" commandName="Add All Plug-ins to Java Search" description="Adds all plug-ins in the target platform to java search" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFwCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.command.shareProject" commandName="Share with Git" description="Share the project using Git" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAFwSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.command.projectNameParameter" name="Project" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAFwixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.convert.anonymous.to.nested" commandName="Convert Anonymous Class to Nested" description="Convert an anonymous class to a nested class" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFwyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.quickOutline" commandName="Quick Outline" description="Open a quick outline popup dialog for a given editor input" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFxCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.fullscreenmode" commandName="Toggle Full Screen" description="Toggles the window between full screen and normal" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFxSxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.sdk.installationDetails" commandName="Installation Details" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFxixQEeymybzsuL9nBA" elementId="org.eclipse.team.ui.synchronizeAll" commandName="Synchronize..." description="Synchronize resources in the workspace with another location" category="_AHBUQixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFxyxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.profiles.ui.commands.selectMavenProfileCommand" commandName="Select Maven Profiles" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFyCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.nextEditor" commandName="Next Editor" description="Switch to the next editor" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFySxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.internal.reflog.CopyCommand" commandName="Copy Commit Id" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFyixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.new.subtask" commandName="New Subtask" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFyyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.JavaBrowsingPerspective" commandName="JavaScript Browsing" description="Show the JavaScript Browsing perspective" category="_AHBUVyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFzCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.helpContents" commandName="Help Contents" description="Open the help contents" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFzSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.remove.block.comment" commandName="Remove Block Comment" description="Remove the block comment enclosing the selection" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFzixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Reset" commandName="Reset..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAFzyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.delete" commandName="Delete" description="Delete the selection" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF0CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.delete.line.to.beginning" commandName="Delete to Beginning of Line" description="Delete to the beginning of a line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF0SxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.RenameBranch" commandName="Rename Branch..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF0ixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Synchronize" commandName="Synchronize" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF0yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.working.set" commandName="Declaration in Working Set" description="Search for declarations of the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF1CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.refactor.quickMenu" commandName="Show Refactor Quick Menu" description="Shows the refactor quick menu" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF1SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.findPrevious" commandName="Find Previous" description="Find previous item" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF1ixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.ToggleBreakpoint" commandName="Toggle Breakpoint" description="Creates or removes a breakpoint" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF1yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.Revert" commandName="Revert Commit" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF2CxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.StashDrop" commandName="Delete Stashed Commit..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF2SxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.openTask" commandName="Open Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF2ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.scroll.lineUp" commandName="Scroll Line Up" description="Scroll up one line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF2yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.select.last" commandName="Restore Last Selection" description="Restore last selection" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF3CxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.java.ui.editor.folding.auto" commandName="Toggle Active Folding" description="Toggle Active Folding" category="_AHBUSSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF3SxQEeymybzsuL9nBA" elementId="org.eclipse.pde.runtime.spy.commands.spyCommand" commandName="Plug-in Selection Spy" description="Show the Plug-in Spy" category="_AHBUWyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF3ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.clean.up" commandName="Clean Up" description="Solve problems and improve code style on selected resources" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF3yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.folding.toggle" commandName="Toggle Folding" description="Toggles folding in the current editor" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF4CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.toggleShowWhitespaceCharacters" commandName="Show Whitespace Characters" description="Shows whitespace characters in current text editor" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF4SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.revert" commandName="Revert" description="Revert to the last saved state" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF4ixQEeymybzsuL9nBA" elementId="org.eclipse.oomph.ui.ToggleOfflineMode" commandName="Toggle Offline Mode" category="_AHBUPyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF4yxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.openLog" commandName="Open Setup Log" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF5CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.buildAutomatically" commandName="Build Automatically" description="Toggle the workspace build automatically function" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF5SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.import" commandName="Import" description="Import" category="_AHBUMixQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAF5ixQEeymybzsuL9nBA" elementId="importWizardId" name="Import Wizard"/>
+  </commands>
+  <commands xmi:id="_AHAF5yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.Merge" commandName="Merge" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF6CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.switchToEditor" commandName="Switch to Editor" description="Switch to an editor" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF6SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.find.broken.nls.keys" commandName="Find Broken Externalized Strings" description="Finds undefined, duplicate and unused externalized string keys in property files" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF6ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.dynamicHelp" commandName="Show Contextual Help" description="Open the contextual help" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF6yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.comment" commandName="Comment" description="Turn the selected lines into Java comments" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF7CxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.activateTask" commandName="Activate Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF7SxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CreateTag" commandName="Create Tag..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF7ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu" commandName="Show Occurrences in File Quick Menu" description="Shows the Occurrences in File quick menu" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF7yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.goto.next.member" commandName="Go to Next Member" description="Move the caret to the next member of the JavaScript file" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF8CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.toggleInsertMode" commandName="Toggle Insert Mode" description="Toggle insert mode" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF8SxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewDelete" commandName="Delete Repository" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF8ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.closePart" commandName="Close Part" description="Close the active workbench part" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF8yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editors.revisions.id.toggle" commandName="Toggle Revision Id Display" description="Toggles the display of the revision id" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF9CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.cleanAction" commandName="Build Clean" description="Discard old built state" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF9SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.back" commandName="Back" description="Navigate back" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF9ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.wordNext" commandName="Select Next Word" description="Select the next word" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF9yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavaBrowsingPerspective" commandName="Java Browsing" description="Show the Java Browsing perspective" category="_AHBUVyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF-CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.pageDown" commandName="Page Down" description="Go down one page" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF-SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.implementors.in.project" commandName="Implementors in Project" description="Search for implementors of the selected interface in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF-ixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.team.ui.commands.CopyCommitMessage" commandName="Copy Commit Message for Task" description="Copies a commit message for the currently selected task to the clipboard." category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF-yxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.relaunchSession" commandName="Relaunch Coverage Session" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF_CxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.GarbageCollect" commandName="Collect Garbage" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF_SxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CompareWithWorkingTree" commandName="Compare with Working Tree" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF_ixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Branch" commandName="Branch" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAF_yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.ProjectsView" commandName="JavaScript Projects" description="Show the Projects view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGACxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.previousSibling" commandName="Previous Sibling" description="Go to Previous Sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGASxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewConfigurePush" commandName="Configure Push..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGAixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.findIncrementalReverse" commandName="Incremental Find Reverse" description="Incremental find reverse" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGAyxQEeymybzsuL9nBA" elementId="org.eclipse.epp.mpc.ui.command.importFavoritesWizard" commandName="Import Marketplace Favorites" description="Import another user's Marketplace Favorites List" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAGBCxQEeymybzsuL9nBA" elementId="favoritesUrl" name="favoritesUrl"/>
+  </commands>
+  <commands xmi:id="_AHAGBSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.introduce.factory" commandName="Introduce Factory" description="Introduce a factory function to encapsulate invocation of the selected constructor" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGBixQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.antShortcut.run" commandName="Run Ant Build" description="Run Ant Build" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGByxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.convertAnonymousToLocal.assist" commandName="Quick Assist - Convert anonymous to local class" description="Invokes quick assist and selects 'Convert anonymous to local class'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGCCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.stash.apply" commandName="Apply Stashed Changes" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGCSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.Inspect" commandName="Inspect" description="Inspect result of evaluating selected text" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGCixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.columnNext" commandName="Next Column" description="Go to the next column" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGCyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.Squash" commandName="Squash Commits" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGDCxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.performTextSearchWorkingSet" commandName="Find Text in Working Set" description="Searches the files in the working set for specific text." category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGDSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.occurrences.in.file.quickMenu" commandName="Show Occurrences in File Quick Menu" description="Shows the Occurrences in File quick menu" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGDixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.wordNext" commandName="Next Word" description="Go to the next word" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGDyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.convertLocalToField.assist" commandName="Quick Assist - Convert local variable to var" description="Invokes quick assist and selects 'Convert local variable to var'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGECxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.move.element" commandName="Move - Refactoring " description="Move the selected element to a new location" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGESxQEeymybzsuL9nBA" elementId="org.eclipse.quickdiff.toggle" commandName="Quick Diff Toggle" description="Toggles quick diff information display on the line number ruler" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGEixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.deleteNext" commandName="Delete Next" description="Delete the next character" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGEyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.FetchGerritChange" commandName="Fetch From Gerrit" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGFCxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.junitRAPShortcut.coverage" commandName="Coverage RAP JUnit Test" description="Coverage RAP JUnit Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGFSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.SynchronizeAll" commandName="Synchronize Changed" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGFixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.Watch" commandName="Watch" description="Create new watch expression" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGFyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.Reword" commandName="Reword Commit" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGGCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.context.ui.editor.folding.auto" commandName="Toggle Active Folding" description="Toggle Active Folding" category="_AHBUMCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGGSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.OpenCommit" commandName="Open Git Commit" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGGixQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.stop" commandName="Stop" description="Stop the server" category="_AHBULyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGGyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.displayHelp" commandName="Display Help" description="Display a Help topic" category="_AHBUUSxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAGHCxQEeymybzsuL9nBA" elementId="href" name="Help topic href"/>
+  </commands>
+  <commands xmi:id="_AHAGHSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.pageDown" commandName="Select Page Down" description="Select to the bottom of the page" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGHixQEeymybzsuL9nBA" elementId="org.eclipse.ltk.ui.refactor.create.refactoring.script" commandName="Create Script" description="Create a refactoring script from refactorings on the local workspace" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGHyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.join.lines" commandName="Join Lines" description="Join lines of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGICxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.saveAsTemplateAction" commandName="Save as Template" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGISxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.open.editor" commandName="Open Declaration" description="Open an editor on the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGIixQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.showContextMenu" commandName="Show Context Menu" description="Show the context menu" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGIyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.extract.local.variable" commandName="Extract Local Variable" description="Extracts an expression into a new local variable and uses the new local variable" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGJCxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.p2.ui.ExploreRepository" commandName="Explore Repository" category="_AHBUOCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGJSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.InstallLfsLocal" commandName="Enable LFS locally" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGJixQEeymybzsuL9nBA" elementId="org.eclipse.ltk.ui.refactor.show.refactoring.history" commandName="Open Refactoring History " description="Opens the refactoring history" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGJyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.hierarchy" commandName="Read Access in Hierarchy" description="Search for read references of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGKCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals" commandName="Quick Fix" description="Suggest possible fixes for a problem" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGKSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.log.jdt.showinconsole" commandName="&amp;Show In Console" description="Show Stack Trace in Console View" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGKixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.push.down" commandName="Push Down" description="Move members to subclasses" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGKyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.nextPerspective" commandName="Next Perspective" description="Switch to the next perspective" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGLCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.UpdateRepositoryConfiguration" commandName="Update Repository Configuration" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGLSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.StashApply" commandName="Apply Stashed Changes" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGLixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.working.set" commandName="Write Access in Working Set" description="Search for write references to the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGLyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.ShowVersions" commandName="Open this Version" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAGMCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CompareMode" name="Compare mode"/>
+  </commands>
+  <commands xmi:id="_AHAGMSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.nextTab" commandName="Next Tab" description="Switch to the next tab" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGMixQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.quickAccess" commandName="Quick Access" description="Quickly access UI elements" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGMyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.showInformation" commandName="Show Tooltip Description" description="Displays information for the current caret location in a focused hover" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGNCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.add.import" commandName="Add Import" description="Create import statement on selection" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGNSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.attachment.open" commandName="Open Attachment" category="_AHBURSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGNixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.extractLocal.assist" commandName="Quick Assist - Extract local variable" description="Invokes quick assist and selects 'Extract local variable'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGNyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.renameInFile.assist" commandName="Quick Assist - Rename in file" description="Invokes quick assist and selects 'Rename in file'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGOCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.toggleMemoryMonitorsPane" commandName="Toggle Memory Monitors Pane" description="Toggle visibility of the Memory Monitors Pane" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGOSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.ConfigureUpstreamFetch" commandName="Configure Upstream Fetch" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGOixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.working.set" commandName="Implementors in Working Set" description="Search for implementors of the selected interface in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGOyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Discard" commandName="Replace with File in Index" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGPCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.refreshFromDatabaseAction" commandName="Refresh from Database" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGPSxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.ExecuteAsOneStatementAction" commandName="Execute Selected Text As One Statement" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGPixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewCreateBranch" commandName="Create Branch..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGPyxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.internal.actions.pushcommand" commandName="Push" description="Push application" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGQCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.commands.addrepository" commandName="New Repository Profile Command" description="Command to create a new repository profile" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGQSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewCopyPath" commandName="Copy Path to Clipboard" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGQixQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.perform.startup" commandName="Perform Setup Tasks (Startup)" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGQyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.JavaPerspective" commandName="JavaScript" description="Show the JavaScript perspective" category="_AHBUVyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGRCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.showRulerAnnotationInformation" commandName="Show Ruler Annotation Tooltip" description="Displays annotation information for the caret line in a focused hover" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGRSxQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsp.ui.add.imports" commandName="Add Im&amp;port" description="Create import declaration for selection" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGRixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.modify.method.parameters" commandName="Change Function Signature" description="Change function signature includes parameter names and parameter order" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGRyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.eclipselink.ui.upgradeToEclipseLinkMappingFile" commandName="Upgrade to EclipseLink Mapping File" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGSCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.browser.openBrowser" commandName="Open Browser" description="Opens the default web browser." category="_AHBUMyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAGSSxQEeymybzsuL9nBA" elementId="url" name="URL"/>
+    <parameters xmi:id="_AHAGSixQEeymybzsuL9nBA" elementId="browserId" name="Browser Id"/>
+    <parameters xmi:id="_AHAGSyxQEeymybzsuL9nBA" elementId="name" name="Browser Name"/>
+    <parameters xmi:id="_AHAGTCxQEeymybzsuL9nBA" elementId="tooltip" name="Browser Tooltip"/>
+  </commands>
+  <commands xmi:id="_AHAGTSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.extract.constant" commandName="Extract Constant" description="Extracts a constant into a new static var and uses the new static var" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGTixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.result.removeAllInstances" commandName="Remove All Visible Results" category="_AHBUNCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGTyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.implement.occurrences" commandName="Search Implement Occurrences in File" description="Search for implement occurrences of a selected type" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGUCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.DeleteBranch" commandName="Delete Branch" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGUSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.contentAssist.contextInformation" commandName="Context Information" description="Show Context Information" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGUixQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.saveAs" commandName="Save As" description="Save the current contents to another location" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGUyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.read.access.in.workspace" commandName="Read Access in Workspace" description="Search for read references to the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGVCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.previousPerspective" commandName="Previous Perspective" description="Switch to the previous perspective" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGVSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.splitEditor" commandName="Toggle Split Editor" description="Split or join the currently active editor." category="_AHBUMyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAGVixQEeymybzsuL9nBA" elementId="Splitter.isHorizontal" name="Orientation" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAGVyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.collapseAll" commandName="Collapse All" description="Collapse the current tree" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGWCxQEeymybzsuL9nBA" elementId="org.eclipse.compare.copyAllRightToLeft" commandName="Copy All from Right to Left" description="Copy All Changes from Right to Left" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGWSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.deactivateSelectedTask" commandName="Deactivate Selected Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGWixQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.lockToolBar" commandName="Toggle Lock Toolbars" description="Toggle the Lock on the Toolbars" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGWyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.Disconnect" commandName="Disconnect" description="Disconnect" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGXCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.extract.interface" commandName="Extract Interface" description="Extract a set of members into a new interface and try to use the new interface" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGXSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.workspace" commandName="Write Access in Workspace" description="Search for write references to the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGXixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.removeFromWorkingSet" commandName="Remove From Working Set" description="Removes the selected object from a working set." category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGXyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.createAntBuildFile" commandName="Create Ant Build File" description="Creates an Ant build file for the current project" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGYCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.openSelectedTask" commandName="Open Selected Task" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGYSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.changeToStatic" commandName="Quick Fix - Change to static access" description="Invokes quick assist and selects 'Change to static access'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGYixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.enablement.sybase.asa.schemaobjecteditor.examples.tableschemaeditor.copycolumn" commandName="Copy" category="_AHBUTixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGYyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesLinkWithSelection" commandName="Link with Selection" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGZCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.toggle.focus.active.view" commandName="Focus on Active Task" description="Toggle the focus on active task for the active view" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGZSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.deleteCompleted" commandName="Delete Completed Tasks" description="Delete the tasks marked as completed" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGZixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.goToNextUnread" commandName="Go To Next Unread Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGZyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.debugAction" commandName="Debug" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGaCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.add.javadoc.comment" commandName="Add Javadoc Comment" description="Add a Javadoc comment stub to the member element" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGaSxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.cloneservercommand" commandName="Clone Server" description="Clone Server" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGaixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RebaseInteractiveCurrent" commandName="Rebase Interactive" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGayxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.addCast" commandName="Quick Fix - Add cast" description="Invokes quick assist and selects 'Add cast'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGbCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.openEditorDropDown" commandName="Quick Switch Editor" description="Open the editor drop down list" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGbSxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jaxb.ui.generateJaxbClasses" commandName="JAXB Classes..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGbixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.deleteNextWord" commandName="Delete Next Word" description="Delete the next word" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGbyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.openDependencies" commandName="Open Plug-in Dependencies" description="Opens the plug-in dependencies view for the current plug-in" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGcCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences" commandName="Toggle Mark Occurrences" description="Toggles mark occurrences in Java editors" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGcSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.SkipRebase" commandName="Skip commit and continue" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGcixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.replace.invocations" commandName="Replace Invocations" description="Replace invocations of the selected method" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGcyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.hierarchy" commandName="Declaration in Hierarchy" description="Search for declarations of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGdCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.SetQuickdiffBaseline" commandName="Set quickdiff baseline" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGdSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.undo" commandName="Undo" description="Undo the last operation" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGdixQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.newQuickMenu" commandName="New menu" description="Open the New menu" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGdyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.addSuppressWarnings" commandName="Quick Fix - Add @SuppressWarnings" description="Invokes quick fix and selects 'Add @SuppressWarnings' " category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGeCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.actions.WatchCommand" commandName="Watch" description="Create a watch expression from the current selection and add it to the Expressions view" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGeSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.openWorkspace" commandName="Switch Workspace" description="Open the workspace selection dialog" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGeixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.remove.occurrence.annotations" commandName="Remove Occurrence Annotations" description="Removes the occurrence annotations from the current editor" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGeyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.closeAll" commandName="Close All" description="Close all editors" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGfCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.navigate.open.type" commandName="Open Type" description="Open a type in a Java editor" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGfSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.cut" commandName="Cut" description="Cut the selection to the clipboard" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGfixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.indirection" commandName="Introduce Indirection" description="Introduce an indirection to encapsulate invocations of a selected method" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGfyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Merge" commandName="Merge" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGgCxQEeymybzsuL9nBA" elementId="org.eclipse.ltk.ui.refactor.apply.refactoring.script" commandName="Apply Script" description="Perform refactorings from a refactoring script on the local workspace" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGgSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ReplaceWithRef" commandName="Replace with branch, tag, or reference" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGgixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.submitTask" commandName="Submit Task" description="Submits the currently open task" category="_AHBURSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGgyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.testNgSuiteShortcut.coverage" commandName="Coverage TestNG Suite" description="Coverage TestNG Suite" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGhCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.extract.superclass" commandName="Extract Superclass" description="Extract a set of members into a new superclass and try to use the new superclass" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGhSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.reload.dependencies" commandName="Reload Dependencies" description="Reload Dependencies" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGhixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.generate.xml" commandName="&amp;XML File..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGhyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly" commandName="Show Selected Element Only" description="Show Selected Element Only" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGiCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.addImport" commandName="Quick Fix - Add import" description="Invokes quick assist and selects 'Add import'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGiSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.junitShortcut.rerunFailedFirst" commandName="Rerun JUnit Test - Failures First" description="Rerun JUnit Test - Failures First" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGiixQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.export" commandName="Export" description="Export" category="_AHBUMixQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAGiyxQEeymybzsuL9nBA" elementId="exportWizardId" name="Export Wizard"/>
+  </commands>
+  <commands xmi:id="_AHAGjCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsd.ui.refactor.makeTypeGlobal" commandName="Make &amp;Anonymous Type Global" description="Promotes anonymous type to global level and replaces its references" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGjSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.project" commandName="Implementors in Project" description="Search for implementors of the selected interface in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGjixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ApplyPatch" commandName="Apply Patch" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGjyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavaPerspective" commandName="Java" description="Show the Java perspective" category="_AHBUVyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGkCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.indent" commandName="Correct Indentation" description="Corrects the indentation of the selected lines" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGkSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.copyConfigCommand" commandName="Copy Configuration Data To Clipboard" description="Copies the configuration data (system properties, installed bundles, etc) to the clipboard." category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGkixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.forwardHistory" commandName="Forward History" description="Move forward in the editor navigation history" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGkyxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.performTextSearchProject" commandName="Find Text in Project" description="Searches the files in the project for specific text." category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAGlCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.rebuildAll" commandName="Rebuild All" description="Rebuild all projects" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsgCxQEeymybzsuL9nBA" elementId="org.eclipse.gef.zoom_in" commandName="Zoom In" description="Zoom In" category="_AHBUWSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsgSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.quick.format" commandName="Format Element" description="Format enclosing text element" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsgixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.openLocalFile" commandName="Open File..." description="Open a file" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsgyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Disconnect" commandName="Disconnect" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAshCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.select.previous" commandName="Select Previous Element" description="Expand selection to include previous sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAshSxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.externalizeStrings" commandName="Externalize Strings in Plug-ins" description="Extract translatable strings from plug-in files" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAshixQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.refresh" commandName="Refresh" description="Refresh the selected items" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAshyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.commands.showcategory" commandName="Show Category" description="Show Category" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsiCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewChangeCredentials" commandName="Change Credentials" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsiSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.extractMethodInplace.assist" commandName="Quick Assist - Extract method" description="Invokes quick assist and selects 'Extract to method'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsiixQEeymybzsuL9nBA" elementId="org.eclipse.oomph.p2.ui.SearchRepositories" commandName="Search Repositories" category="_AHBUOCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsiyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.closeAllPerspectives" commandName="Close All Perspectives" description="Close all open perspectives" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsjCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.addThrowsDecl" commandName="Quick Fix - Add throws declaration" description="Invokes quick assist and selects 'Add throws declaration'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsjSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.disconnected" commandName="Disconnected" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsjixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.lineStart" commandName="Select Line Start" description="Select to the beginning of the line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsjyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.Reword" commandName="Reword Commit" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAskCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.toggleMarkOccurrences" commandName="Toggle Mark Occurrences" description="Toggles mark occurrences in JavaScript editors" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAskSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.editors.lineNumberToggle" commandName="Show Line Numbers" description="Toggle display of line numbers" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAskixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.infer.type.arguments" commandName="Infer Generic Type Arguments" description="Infer type arguments for references to generic classes and remove unnecessary casts" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAskyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.persistentAttributeMapAs" commandName="Map As" category="_AHBUPCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAslCxQEeymybzsuL9nBA" elementId="specifiedPersistentAttributeMappingKey" name="specified mapping key" optional="false"/>
+    <parameters xmi:id="_AHAslSxQEeymybzsuL9nBA" elementId="defaultPersistentAttributeMappingKey" name="default mapping key" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAslixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.index.ui.command.ResetIndex" commandName="Refresh Search Index" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAslyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesToggleBranchCommit" commandName="Toggle Latest Branch Commit" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsmCxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.paste" commandName="Paste" category="_AHBUUyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsmSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.PushCommit" commandName="Push Commit..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsmixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.assignToField.assist" commandName="Quick Assist - Assign to var" description="Invokes quick assist and selects 'Assign to var'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsmyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.convertJavaGenerators" commandName="Move Java Generators to XML..." category="_AHBUOixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsnCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.showInSystemExplorer" commandName="Show In (System Explorer)" description="Show in system's explorer (file manager)" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAsnSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.showInSystemExplorer.path" name="Resource System Path Parameter"/>
+  </commands>
+  <commands xmi:id="_AHAsnixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.new.local.task" commandName="New Local Task" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsnyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.lineDown" commandName="Select Line Down" description="Extend the selection to the next line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsoCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.sort.members" commandName="Sort Members" description="Sort all members using the member order preference" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsoSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.lowerCase" commandName="To Lower Case" description="Changes the selection to lower case" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsoixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.commands.addprofile" commandName="New Connection Profile Command" description="Command to create a new connection profile" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAsoyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.ui.ignoreCategory" name="ignoreCategory"/>
+    <parameters xmi:id="_AHAspCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.ui.useSelection" name="useSelection"/>
+  </commands>
+  <commands xmi:id="_AHAspSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.CompareWithIndex" commandName="Compare with Index" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAspixQEeymybzsuL9nBA" elementId="org.eclipse.m2e.discovery.ui" commandName="m2e Marketplace" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAspyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.zoomOut" commandName="Zoom Out" description="Zoom out text, decrease default font size for text editors" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsqCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskIncomplete" commandName="Mark Task Incomplete" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsqSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.save" commandName="Save" description="Save the current contents" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsqixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.assignAllParamsToNewFields.assist" commandName="Quick Assist - Assign all parameters to new fields" description="Invokes quick assist and selects 'Assign all parameters to new fields'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsqyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.project" commandName="References in Project" description="Search for references to the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsrCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.introduce.indirection" commandName="Introduce Indirection" description="Introduce an indirection to encapsulate invocations of a selected function" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsrSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.occurrences.in.file" commandName="Search All Occurrences in File" description="Search for all occurrences of the selected element in its declaring file" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsrixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.specific_content_assist.command" commandName="Content Assist" description="A parameterizable command that invokes content assist with a single completion proposal category" category="_AHBUKCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAsryxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.specific_content_assist.category_id" name="type" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAssCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToNextUnread" commandName="Mark Task Read and Go To Next Unread Task" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAssSxQEeymybzsuL9nBA" elementId="org.eclipse.team.ui.applyPatch" commandName="Apply Patch..." description="Apply a patch to one or more workspace projects." category="_AHBUQixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAssixQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.commands.rundefaulttasks" commandName="Run Gradle Default Tasks" description="Runs the default tasks of the selected Gradle project" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAssyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.generateEntities" commandName="Generate Entities from Tables..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAstCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.lineEnd" commandName="Select Line End" description="Select to the end of the line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAstSxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.removeActiveSession" commandName="Remove Active Session" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAstixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskRead" commandName="Mark Task Read" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAstyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.move.element" commandName="Move - Refactoring " description="Move the selected element to a new location" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsuCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.wordPrevious" commandName="Select Previous Word" description="Select the previous word" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsuSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.indent" commandName="Indent Line" description="Indents the current line" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsuixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.quick.format" commandName="Format Element" description="Format enclosing text element" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsuyxQEeymybzsuL9nBA" elementId="org.eclipse.jst.pagedesigner.vertical" commandName="Vertical Layout" category="_AHBURCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsvCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.StepOver" commandName="Step Over" description="Step over" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsvSxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.addToPersistenceUnit" commandName="Add to Persistence Unit" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsvixQEeymybzsuL9nBA" elementId="org.eclipse.compare.selectPreviousChange" commandName="Select Previous Change" description="Select Previous Change" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsvyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.exit" commandName="Exit" description="Exit the application" category="_AHBUMixQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAswCxQEeymybzsuL9nBA" elementId="mayPrompt" name="may prompt"/>
+  </commands>
+  <commands xmi:id="_AHAswSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.CompareWithHead" commandName="Compare with HEAD Revision" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAswixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.CompareWithCommit" commandName="Compare with Commit..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAswyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewOpen" commandName="Open" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsxCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.deactivateAllTasks" commandName="Deactivate Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsxSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ShowHistory" commandName="Show in History" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsxixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.surround.with.quickMenu" commandName="Surround With Quick Menu" description="Shows the Surround With quick menu" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsxyxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.ui.command.updateProject" commandName="Update Project" description="Update Maven Project configuration and dependencies" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsyCxQEeymybzsuL9nBA" elementId="org.eclipse.tools.layout.spy.commands.layoutSpyCommand" commandName="Layout Spy" description="Show the Layout Spy" category="_AHBUWyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsySxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.SimplePush" commandName="Push to Upstream" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsyixQEeymybzsuL9nBA" elementId="refresh.schema.editor.action.id" commandName="Refresh from Server" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAsyyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.addMemoryMonitor" commandName="Add Memory Block" description="Add memory block" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAszCxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.organizeManifest" commandName="Organize Manifests" description="Cleans up plug-in manifest files" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAszSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.navigate.gototype" commandName="Go to Type" description="Go to Type" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAszixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.junitShortcut.run" commandName="Run JUnit Test" description="Run JUnit Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAszyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.convertJavaQueries" commandName="Move Java Queries to XML..." category="_AHBUOixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs0CxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.PushHeadToGerrit" commandName="Push Current Head to Gerrit" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs0SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.selectAll" commandName="Select All" description="Select all" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs0ixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.swtBotJunitShortcut.coverage" commandName="Coverage SWTBot Test" description="Coverage SWTBot Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs0yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.show.outline" commandName="Quick Outline" description="Show the quick outline for the editor input" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs1CxQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsp.ui.refactor.move" commandName="Move" description="Move a Java Element to another package" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs1SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.goto.next.member" commandName="Go to Next Member" description="Move the caret to the next member of the compilation unit" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs1ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.rebuildProject" commandName="Rebuild Project" description="Rebuild the selected projects" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs1yxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.enablement.sybase.asa.schemaobjecteditor.examples.tableschemaeditor.pastecolumn" commandName="Paste" category="_AHBUTixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs2CxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.pomFileAction.run" commandName="Run Maven Build" description="Run Maven Build" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs2SxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.linkWithSelection" commandName="Link with Current Selection" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs2ixQEeymybzsuL9nBA" elementId="org.eclipse.m2e.actions.LifeCycleInstall.run" commandName="Run Maven Install" description="Run Maven Install" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs2yxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.ExecuteCurrentAction" commandName="Execute Current Text" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs3CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.copyLineDown" commandName="Copy Lines" description="Duplicates the selected lines and moves the selection to the copy" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs3SxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.perform" commandName="Perform Setup Tasks" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs3ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.installationDialog" commandName="Installation Information" description="Open the installation dialog" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs3yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.refactor.create.refactoring.script" commandName="Create Script" description="Create a refactoring script from refactorings on the local workspace" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs4CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.open.type.hierarchy" commandName="Open Type Hierarchy" description="Open a type hierarchy on the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs4SxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.ToggleStepFilters" commandName="Use Step Filters" description="Toggles enablement of debug step filters" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs4ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.lineUp" commandName="Line Up" description="Go up one line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs4yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.windowStart" commandName="Window Start" description="Go to the start of the window" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs5CxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.updatepasswordcommand" commandName="Update Password..." description="Update Password" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs5SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.addBlock.assist" commandName="Quick Assist - Replace statement with block" description="Invokes quick assist and selects 'Replace statement with block'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs5ixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.commons.ui.command.AddRepository" commandName="Add Repository" category="_AHBUPSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs5yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.select.enclosing" commandName="Select Enclosing Element" description="Expand selection to include enclosing element" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs6CxQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.antShortcut.debug" commandName="Debug Ant Build" description="Debug Ant Build" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs6SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.addNonNLS" commandName="Quick Fix - Add non-NLS tag" description="Invokes quick assist and selects 'Add non-NLS tag'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs6ixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.AssumeUnchanged" commandName="Assume Unchanged" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs6yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.closePerspective" commandName="Close Perspective" description="Close the current perspective" category="_AHBUMyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAs7CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.closePerspective.perspectiveId" name="Perspective Id"/>
+  </commands>
+  <commands xmi:id="_AHAs7SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.add.block.comment" commandName="Add Block Comment" description="Enclose the selection with a block comment" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs7ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.nextSibling" commandName="Next Sibling" description="Go to Next Sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs7yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.extract.local.variable" commandName="Extract Local Variable" description="Extracts an expression into a new local variable and uses the new local variable" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs8CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.navigate.open.type" commandName="Open Type" description="Open a type in a JavaScript editor" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs8SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.cheatsheets.openCheatSheetURL" commandName="Open Cheat Sheet from URL" description="Open a Cheat Sheet from file at a specified URL." category="_AHBUUSxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAs8ixQEeymybzsuL9nBA" elementId="cheatSheetId" name="Identifier" optional="false"/>
+    <parameters xmi:id="_AHAs8yxQEeymybzsuL9nBA" elementId="name" name="Name" optional="false"/>
+    <parameters xmi:id="_AHAs9CxQEeymybzsuL9nBA" elementId="url" name="URL" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAs9SxQEeymybzsuL9nBA" elementId="revert.schema.editor.action.id" commandName="Revert Object" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs9ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsl.debug.ui.launchshortcut.debug" commandName="Debug XSLT Transformation" description="Create a configuration to debug an XSLT transformation" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs9yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.PushBranch" commandName="Push Branch..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs-CxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.ui.command.addDependency" commandName="Add Maven Dependency" description="Add Maven Dependency" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs-SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.Execute" commandName="Execute" description="Evaluate selected text" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs-ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.add.block.comment" commandName="Add Block Comment" description="Enclose the selection with a block comment" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs-yxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.core.synchronizeClasses" commandName="Synchronize Class List" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs_CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.chromium.debug.ui.breakpoint.properties" commandName="Breakpoint Properties..." description="Modify breakpoint properties" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs_SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.navigate.gotopackage" commandName="Go to Folder" description="Go to Folder" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs_ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.project" commandName="Read Access in Project" description="Search for read references to the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAs_yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.closeAllSaved" commandName="Close All Saved" description="Close all saved editors" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtACxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.launchShortcut.run" commandName="Run on Server" description="Run the current selection on a server" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtASxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.move.inner.to.top.level" commandName="Convert Member Type to Top Level" description="Convert member type to top level" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtAixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.redo" commandName="Redo" description="Redo the last operation" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtAyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.launchShortcut.debug" commandName="Debug on Server" description="Debug the current selection on a server" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtBCxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.editor.RenameArtifactAction" commandName="Rename Maven Artifact..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtBSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.selectWorkingSets" commandName="Select Working Sets" description="Select the working sets that are applicable for this window." category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtBixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.ExecuteSQLAction" commandName="Execute All" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtByxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.rename.element" commandName="Rename - Refactoring " description="Rename the selected element" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtCCxQEeymybzsuL9nBA" elementId="org.eclipse.pde.api.tools.ui.remove.filters" commandName="Remove &amp;API Problem Filters..." description="Remove API problem filters for this project" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtCSxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.view.ui.command.newview" commandName="New Terminal View" category="_AHBUSyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtCixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.externalize.strings" commandName="Externalize Strings" description="Finds all strings that are not externalized and moves them into a separate property file" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtCyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.extractConstant.assist" commandName="Quick Assist - Extract constant" description="Invokes quick assist and selects 'Extract constant'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtDCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CherryPick" commandName="Cherry Pick" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtDSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.close" commandName="Close" description="Close the active editor" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtDixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.surround.with.try.catch" commandName="Surround with try/catch Block" description="Surround the selected text with a try/catch block" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtDyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.goto.previous.member" commandName="Go to Previous Member" description="Move the caret to the previous member of the compilation unit" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtECxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.Reset" commandName="Reset..." category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtESxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.ResetMode" name="Reset mode" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAtEixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.previousSubTab" commandName="Previous Sub-Tab" description="Switch to the previous sub-tab" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtEyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.generate.hashcode.equals" commandName="Generate hashCode() and equals()" description="Generates hashCode() and equals() methods for the type" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtFCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.js.gulp.commands.gulpLaunch" commandName="Run as Gulp Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtFSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.showIn" commandName="Show In" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtFixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.showIn.targetId" name="Show In Target Id" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAtFyxQEeymybzsuL9nBA" elementId="sed.tabletree.collapseAll" commandName="Collapse All" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtGCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewRemoveRemote" commandName="Delete Remote" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtGSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.dialogs.openInputDialog" commandName="Open Input Dialog" description="Open an Input Dialog" category="_AHBUNyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtGixQEeymybzsuL9nBA" elementId="title" name="Title"/>
+    <parameters xmi:id="_AHAtGyxQEeymybzsuL9nBA" elementId="message" name="Message"/>
+    <parameters xmi:id="_AHAtHCxQEeymybzsuL9nBA" elementId="initialValue" name="Initial Value"/>
+    <parameters xmi:id="_AHAtHSxQEeymybzsuL9nBA" elementId="cancelReturns" name="Return Value on Cancel"/>
+  </commands>
+  <commands xmi:id="_AHAtHixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RebaseCurrent" commandName="Rebase" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtHyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.add.unimplemented.constructors" commandName="Generate Constructors from Superclass" description="Evaluate and add constructors from superclass" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtICxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskComplete" commandName="Mark Task Complete" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtISxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.windowStart" commandName="Select Window Start" description="Select to the start of the window" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtIixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.source.quickMenu" commandName="Show Source Quick Menu" description="Shows the source quick menu" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtIyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.project" commandName="Declaration in Project" description="Search for declarations of the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtJCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.Revert" commandName="Revert Commit" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtJSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewImportProjects" commandName="Import Projects..." description="Import or create in local Git repository" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtJixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.commands.CoverageLast" commandName="Coverage" description="Coverage" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtJyxQEeymybzsuL9nBA" elementId="org.eclipse.compare.copyAllLeftToRight" commandName="Copy All from Left to Right" description="Copy All Changes from Left to Right" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtKCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.enablement.sybase.asa.schemaobjecteditor.examples.tableschemaeditor.cutcolumn" commandName="Cut" category="_AHBUTixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtKSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.debug.ui.evaluate.command" commandName="Evaluate" description="Evaluates the selected text in the JavaScript editor" category="_AHBUSixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtKixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.surround.with.quickMenu" commandName="Surround With Quick Menu" description="Shows the Surround With quick menu" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtKyxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.openFileSearchPage" commandName="File Search" description="Open the Search dialog's file search page" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtLCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.workspace" commandName="Implementors in Workspace" description="Search for implementors of the selected interface" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtLSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewAddRepository" commandName="Add a Git Repository" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtLixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.breakpoint.properties" commandName="Java Breakpoint Properties" description="View and edit the properties for a given Java breakpoint" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtLyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.navigate.open.type.in.hierarchy" commandName="Open Type in Hierarchy" description="Open a type in the type hierarchy view" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtMCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.task.clearActiveTime" commandName="Clear Active Time" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtMSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.copyBuildIdCommand" commandName="Copy Build Id Information To Clipboard" description="Copies the build identification information to the clipboard." category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtMixQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.commands.refreshproject" commandName="Refresh Gradle Project" description="Synchronizes the Gradle builds of the selected projects with the workspace" category="_AHBUKixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtMyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.textEnd" commandName="Select Text End" description="Select to the end of the text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtNCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.task.attachContext" commandName="Attach Context" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtNSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor" commandName="XPath Processor" category="_AHBUOyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtNixQEeymybzsuL9nBA" elementId="org.eclipse.ui.commands.radioStateParameter" name="State" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAtNyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.wordPrevious" commandName="Previous Word" description="Go to the previous word" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtOCxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.connector.local.command.launch" commandName="Open Local Terminal on Selection" category="_AHBUSyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtOSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.preferences" commandName="Preferences" description="Open the preferences dialog" category="_AHBUMyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtOixQEeymybzsuL9nBA" elementId="preferencePageId" name="Preference Page"/>
+  </commands>
+  <commands xmi:id="_AHAtOyxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.sourcelookup.ui.openSourceLookupInfoDialog" commandName="Source Lookup Info" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtPCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.Squash" commandName="Squash Commits" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtPSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.copy" commandName="Copy" description="Copy the selection to the clipboard" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtPixQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.nextView" commandName="Next View" description="Switch to the next view" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtPyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.revertToSaved" commandName="Revert to Saved" description="Revert to the last saved state" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtQCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.properties.NewPropertySheetCommand" commandName="Properties" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtQSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.RunToLine" commandName="Run to Line" description="Resume and break when execution reaches the current line" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtQixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.navigate.java.open.structure" commandName="Open Structure" description="Show the structure of the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtQyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.EquinoxLaunchShortcut.debug" commandName="Debug OSGi Framework" description="Debug OSGi Framework" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtRCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewPaste" commandName="Paste Repository Path or URI" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtRSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.showChangeRulerInformation" commandName="Show Quick Diff Ruler Tooltip" description="Displays quick diff or revision information for the caret line in a focused hover" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtRixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.upperCase" commandName="To Upper Case" description="Changes the selection to upper case" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtRyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ConfigureFetch" commandName="Configure Upstream Fetch" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtSCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.goInto" commandName="Go Into" description="Navigate into the selected item" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtSSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.ConfigureUpstreamPush" commandName="Configure Upstream Push" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtSixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.OpenRunConfigurations" commandName="Run..." description="Open run launch configuration dialog" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtSyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.windowEnd" commandName="Select Window End" description="Select to the end of the window" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtTCxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.resetOnDump" commandName="Reset on Dump" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtTSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.minimizePart" commandName="Minimize Active View or Editor" description="Minimizes the active view or editor" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtTixQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.command1" commandName="Terminal view insert" category="_AHBUUyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtTyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Untrack" commandName="Untrack" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtUCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.add.block.comment" commandName="Add Block Comment" description="Add Block Comment" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtUSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.showSystemMenu" commandName="Show System Menu" description="Show the system menu" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtUixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.AllInstances" commandName="All Instances" description="View all instances of the selected type loaded in the target VM" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtUyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.OpenInCommitViewerCommand" commandName="Open in Commit Viewer" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtVCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.toggle.comment" commandName="Toggle Comment" description="Toggle comment the selected lines" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtVSxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.actions.LifeCycleTest.run" commandName="Run Maven Test" description="Run Maven Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtVixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsl.debug.ui.launchshortcut.run" commandName="Run XSLT Transformation" description="Create a configuration to debug an XSLT transformation" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtVyxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.internal.actions.remaptoprojectcommand" commandName="Link with Project" description="Link the cloud application with the project." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtWCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.savePerspective" commandName="Save Perspective As" description="Save the current perspective" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtWSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.use.supertype" commandName="Use Supertype Where Possible" description="Change occurrences of a type to use a supertype instead" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtWixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.assignParamToField.assist" commandName="Quick Assist - Assign parameter to field" description="Invokes quick assist and selects 'Assign parameter to field'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtWyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.command.configureTrace" commandName="Configure Git Debug Trace" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtXCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.move.inner.to.top.level" commandName="Move Type to New File" description="Move Type to New File" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtXSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.linkWithEditor" commandName="Toggle Link with Editor" description="Toggles linking of a view's selection with the active editor's selection" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtXixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.open.file.from.source" commandName="Open Selection" description="Open an editor on the selected link" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtXyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy" commandName="Quick Hierarchy" description="Show the quick hierarchy of the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtYCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.toggleBlockSelectionMode" commandName="Toggle Block Selection" description="Toggle block / column selection in the current text editor" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtYSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.goto.matching.bracket" commandName="Matching Character" description="Go to Matching Character" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtYixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.refactor.quickMenu" commandName="Show Refactor Quick Menu" description="Shows the refactor quick menu" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtYyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.CompareIndexWithHead" commandName="Compare File in Index with HEAD Revision" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtZCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.override.methods" commandName="Override/Implement Methods" description="Override or implement methods from super types" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtZSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.references.in.workspace" commandName="References in Workspace" description="Search for references to the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtZixQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jaxb.eclipselink.ui.command.addEclipseLinkJaxbProperty" commandName="Add EclipseLink JAXB property" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtZyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.convertToDocbookCommand" commandName="Generate Docbook" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtaCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.part.nextPage" commandName="Next Page" description="Switch to the next page" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtaSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.change.type" commandName="Generalize Declared Type" description="Change the declaration of a selected variable to a more general type consistent with usage" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtaixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CreateBranch" commandName="Create Branch" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtayxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.folding.collapseComments" commandName="Collapse Comments" description="Collapse all comments" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtbCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewClone" commandName="Clone a Git Repository" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtbSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.clear.mark" commandName="Clear Mark" description="Clear the mark" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtbixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.quick_outline" commandName="Quick Outline" description="Show the quick outline for the editor input" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtbyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.inline" commandName="Inline" description="Inline a constant, local variable or function" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtcCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewRemove" commandName="Remove Repository" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtcSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.PackagesView" commandName="JavaScript Folders" description="Show the Folders view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtcixQEeymybzsuL9nBA" elementId="org.eclipse.ant.ui.openExternalDoc" commandName="Open External Documentation" description="Open the External documentation for the current task in the Ant editor" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtcyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewCreateRepository" commandName="Create a Repository" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtdCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.hierarchy" commandName="Write Access in Hierarchy" description="Search for write references of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtdSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.PushTags" commandName="Push Tags..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtdixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.ContinueRebase" commandName="Continue Rebase" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtdyxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.disconnectcommand" commandName="Disconnect" description="Disconnect Server" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAteCxQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.closeTray" commandName="Close User Assistance Tray" description="Close the user assistance tray containing context help information and cheat sheets." category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAteSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CreatePatch" commandName="Create Patch" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAteixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.Resume" commandName="Resume" description="Resume" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAteyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.toggle.comment" commandName="Toggle Comment" description="Toggle comment the selected lines" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtfCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.open.context.dialog" commandName="Show Context Quick View" description="Show Context Quick View" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtfSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.restartWorkbench" commandName="Restart" description="Restart the workbench" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtfixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.read.access.in.project" commandName="Read Access in Project" description="Search for read references to the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtfyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.CompareWithRef" commandName="Compare with Branch, Tag or Reference..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtgCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.attachment.retrieveContext" commandName="Retrieve Context Attachment" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtgSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.toggleOverwrite" commandName="Toggle Overwrite" description="Toggle overwrite mode" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtgixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.pull.up" commandName="Pull Up" description="Move members to a superclass" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtgyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.folding.collapse_all" commandName="Collapse All" description="Collapses all folded regions" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAthCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.surround.with.try.catch" commandName="Surround with try/catch Block" description="Surround the selected text with a try/catch block" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAthSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.RefreshRepositoryTasks" commandName="Synchronize Changed" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAthixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.ToggleWatchpoint" commandName="Toggle Watchpoint" description="Creates or removes a watchpoint" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAthyxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.discovery.commands.ShowRepositoryCatalog" commandName="Show Repository Catalog" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtiCxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.discovery.commands.RepositoryParameter" name="P2 Repository URI"/>
+  </commands>
+  <commands xmi:id="_AHAtiSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.closeRendering" commandName="Close Rendering" description="Close the selected rendering." category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtiixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewOpenInEditor" commandName="Open in Editor" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtiyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.introduce.parameter" commandName="Introduce Parameter" description="Introduce a new function parameter based on the selected expression" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtjCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.submodule.update" commandName="Update Submodule" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtjSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.ProfileLast" commandName="Profile" description="Launch in profile mode" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtjixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Pull" commandName="Pull" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtjyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.TypeHierarchy" commandName="JavaScript Type Hierarchy" description="Show the Type Hierarchy view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtkCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.swap.mark" commandName="Swap Mark" description="Swap the mark with the cursor position" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtkSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.addCast" commandName="Quick Fix - Add cast" description="Invokes quick assist and selects 'Add cast'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtkixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.interest.increment" commandName="Make Landmark" description="Make Landmark" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtkyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.add.javadoc.comment" commandName="Add JSDoc Comment" description="Add a JSDoc comment stub to the member element" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtlCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.open.hierarchy" commandName="Quick Hierarchy" description="Show the quick hierarchy of the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtlSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewConfigureFetch" commandName="Configure Fetch..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtlixQEeymybzsuL9nBA" elementId="org.eclipse.pde.api.tools.ui.convert.javadocs" commandName="Convert API Tools &amp;Javadoc Tags..." description="Starts a wizard that will allow you to convert existing Javadoc tags to annotations" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtlyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.open.external.javadoc" commandName="Open Attached Javadoc" description="Open the attached Javadoc of the selected element in a browser" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtmCxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.EquinoxLaunchShortcut.run" commandName="Run OSGi Framework" description="Run OSGi Framework" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtmSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.shiftLeft" commandName="Shift Left" description="Shift a block of text to the left" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtmixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.structure.select.next" commandName="Select Next Element" description="Expand selection to include next sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtmyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Push" commandName="Push..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtnCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.AddClassPrepareBreakpoint" commandName="Add Class Load Breakpoint" description="Add a class load breakpoint" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtnSxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.convertJavaProjectToJpa" commandName="Convert to JPA Project..." category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtnixQEeymybzsuL9nBA" elementId="org.eclipse.emf.codegen.ecore.ui.Generate" commandName="Generate Code" description="Generate code for the EMF models in the workspace" category="_AHBUUCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtnyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.generate.javadoc" commandName="Generate JSDoc" description="Generates JSDoc for a selectable set of JavaScript resources" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtoCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.stash.drop" commandName="Delete Stashed Commit..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtoSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.DebugPerspective" commandName="Debug" description="Open the debug perspective" category="_AHBUVyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtoixQEeymybzsuL9nBA" elementId="org.eclipse.tips.ide.command.open" commandName="Tip of the Day" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtoyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.source.quickMenu" commandName="Show Source Quick Menu" description="Shows the source quick menu" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtpCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.specific_content_assist.command" commandName="Content Assist" description="A parameterizable command that invokes content assist with a single completion proposal category" category="_AHBUKCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtpSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.specific_content_assist.category_id" name="type" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAtpixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.hierarchy" commandName="References in Hierarchy" description="Search for references of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtpyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.expandAll" commandName="Expand All" description="Expand the current tree" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtqCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.saveAll" commandName="Save All" description="Save all current contents" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtqSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.method.exits" commandName="Search Method Exit Occurrences in File" description="Search for method exit occurrences of a selected return type" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtqixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.goto.matching.bracket" commandName="Go to Matching Bracket" description="Moves the cursor to the matching bracket" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtqyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.folding.collapseMembers" commandName="Collapse Members" description="Collapse all members" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtrCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.closeOthers" commandName="Close Others" description="Close all editors except the one that is active" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtrSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.rename.element" commandName="Rename - Refactoring " description="Rename the selected element" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtrixQEeymybzsuL9nBA" elementId="org.eclipse.ui.editors.quickdiff.revertLine" commandName="Revert Line" description="Revert the current line" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtryxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.OpenDebugConfigurations" commandName="Debug..." description="Open debug launch configuration dialog" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtsCxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.eclipselink.ui.generateDynamicEntities" commandName="Generate Dynamic Entities from Tables..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtsSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.SimpleFetch" commandName="Fetch from Upstream" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtsixQEeymybzsuL9nBA" elementId="org.eclipse.m2e.sourcelookup.ui.importBinaryProject" commandName="Import Binary Project" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtsyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.previousEditor" commandName="Previous Editor" description="Switch to the previous editor" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAttCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.copy.qualified.name" commandName="Copy Qualified Name" description="Copy a fully qualified name to the system clipboard" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAttSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.promote.local.variable" commandName="Convert Local Variable to Field" description="Convert a local variable to a field" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAttixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.zoomIn" commandName="Zoom In" description="Zoom in text, increase default font size for text editors" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAttyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.OpenMarkersView" commandName="Open Another" description="Open another view" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtuCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.PackageExplorer" commandName="JavaScript Script Explorer" description="Show the Script Explorer" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtuSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.changeToStatic" commandName="Quick Fix - Change to static access" description="Invokes quick assist and selects 'Change to static access'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtuixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.newRendering" commandName="New Rendering" description="Add a new rendering." category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtuyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.closeUnrelatedProjects" commandName="Close Unrelated Projects" description="Close unrelated projects" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtvCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.self.encapsulate.field" commandName="Encapsulate Field" description="Create getting and setting methods for the field and use only those to access the field" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtvSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.markers.copyMarkerResourceQualifiedName" commandName="Copy Resource Qualified Name To Clipboard" description="Copies markers resource qualified name to the clipboard" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtvixQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.runtimeWorkbenchShortcut.run" commandName="Run Eclipse Application" description="Run Eclipse Application" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtvyxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.performTextSearchWorkspace" commandName="Find Text in Workspace" description="Searches the files in the workspace for specific text." category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtwCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.extract.superclass" commandName="Extract Superclass" description="Extract a set of members into a new superclass and try to use the new superclass" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtwSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.remove.block.comment" commandName="Remove Block Comment" description="Remove Block Comment" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtwixQEeymybzsuL9nBA" elementId="org.eclipse.pde.runtime.spy.commands.menuSpyCommand" commandName="Plug-in Menu Spy" description="Show the Plug-in Spy" category="_AHBUWyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtwyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.entityMappingsAddPersistentClass" commandName="Add Class..." category="_AHBUPCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtxCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.generate.constructor.using.fields" commandName="Generate Constructor using Vars" description="Choose vars to initialize and constructor from superclass to call " category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtxSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.navigate.gototype" commandName="Go to Type" description="Go to Type" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtxixQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.ui.command.openPom" commandName="Open Maven POM" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtxyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.index.rebuild" commandName="Rebuild Java Index" description="Rebuilds the Java index database" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtyCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.addBookmark" commandName="Add Bookmark" description="Add a bookmark" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtySxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsd.ui.refactor.rename.element" commandName="&amp;Rename XSD element" description="Rename XSD element" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtyixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.set.mark" commandName="Set Mark" description="Set the mark" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtyyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.goToPreviousUnread" commandName="Go To Previous Unread Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtzCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.select.next" commandName="Select Next Element" description="Expand selection to include next sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtzSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.splitJoinVariableDeclaration.assist" commandName="Quick Assist - Split/Join variable declaration" description="Invokes quick assist and selects 'Split/Join variable declaration'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAtzixQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView" commandName="Show View" description="Shows a particular view" category="_AHBUQyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAtzyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.viewId" name="View"/>
+    <parameters xmi:id="_AHAt0CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.secondaryId" name="Secondary Id"/>
+    <parameters xmi:id="_AHAt0SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.views.showView.makeFast" name="As FastView"/>
+  </commands>
+  <commands xmi:id="_AHAt0ixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Ignore" commandName="Ignore" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt0yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.Edit" commandName="Edit Commit" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt1CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.showResourceByPath" commandName="Show Resource in Navigator" description="Show a resource in the Navigator given its path" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAt1SxQEeymybzsuL9nBA" elementId="resourcePath" name="Resource Path" typeId="org.eclipse.ui.ide.resourcePath" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAt1ixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.SkipAllBreakpoints" commandName="Skip All Breakpoints" description="Sets whether or not any breakpoint should suspend execution" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt1yxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.selectRootElements" commandName="Select Root Elements" category="_AHBUMSxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAt2CxQEeymybzsuL9nBA" elementId="type" name="type" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAt2SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.delimiter.windows" commandName="Convert Line Delimiters to Windows (CRLF, \r\n, 0D0A, &#xa4;&#xb6;)" description="Converts the line delimiters to Windows (CRLF, \r\n, 0D0A, &#xa4;&#xb6;)" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt2ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.findNext" commandName="Find Next" description="Find next item" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt2yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.hidetrimbars" commandName="Toggle visibility of the window toolbars" description="Toggle the visibility of the toolbars of the current window" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt3CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.declarations.in.workspace" commandName="Declaration in Workspace" description="Search for declarations of the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt3SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.open.super.implementation" commandName="Open Super Implementation" description="Open the Implementation in the Super Type" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt3ixQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.openPluginArtifact" commandName="Open Plug-in Artifact" description="Open a plug-in artifact in the manifest editor" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt3yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.debug" commandName="Debug" description="Debug server" category="_AHBULyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt4CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.nextSubTab" commandName="Next Sub-Tab" description="Switch to the next sub-tab" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt4SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.parameter" commandName="Introduce Parameter" description="Introduce a new method parameter based on the selected expression" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt4ixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.addTaskRepository" commandName="Add Task Repository..." category="_AHBULixQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAt4yxQEeymybzsuL9nBA" elementId="connectorKind" name="Repository Type"/>
+  </commands>
+  <commands xmi:id="_AHAt5CxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.removeAllSessions" commandName="Remove All Sessions" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt5SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.localJavaShortcut.run" commandName="Run Java Application" description="Run Java Application" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt5ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.addTask" commandName="Add Task..." description="Add a task" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt5yxQEeymybzsuL9nBA" elementId="org.eclipse.pde.updateUnitVersions" commandName="Update IU Versions from Repositories" description="Update to latest IU versions" category="_AHBUPixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt6CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.structure.select.enclosing" commandName="Select Enclosing Element" description="Expand selection to include enclosing element" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt6SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.wsdl.ui.refactor.rename.element" commandName="Rename WSDL component" description="Renames WSDL component" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt6ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.cheatsheets.openCheatSheet" commandName="Open Cheat Sheet" description="Open a Cheat Sheet." category="_AHBUUSxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAt6yxQEeymybzsuL9nBA" elementId="cheatSheetId" name="Identifier"/>
+  </commands>
+  <commands xmi:id="_AHAt7CxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.viewSource.command" commandName="View Unformatted Text" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt7SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.moveLineDown" commandName="Move Lines Down" description="Moves the selected lines down" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt7ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.SourceView" commandName="JavaScript Declaration" description="Show the Declaration view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt7yxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.sdk.update" commandName="Check for Updates" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt8CxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.searchTargetRepositories" commandName="Add Artifact to Target Platform" description="Add an artifact to your target platform" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAt8SxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.searchTargetRepositories.term" name="The initial search pattern for the artifact search dialog"/>
+  </commands>
+  <commands xmi:id="_AHAt8ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.textEnd" commandName="Text End" description="Go to the end of the text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt8yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.goto.matching.bracket" commandName="Go to Matching Bracket" description="Moves the cursor to the matching bracket" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt9CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.part.previousPage" commandName="Previous Page" description="Switch to the previous page" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt9SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.override.methods" commandName="Override/Implement Functions" description="Override or implement functions from super types" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt9ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.closeProject" commandName="Close Project" description="Close the selected project" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt9yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.PullWithOptions" commandName="Pull..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt-CxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.refactor.migrate.jar" commandName="Migrate JAR File" description="Migrate a JAR File to a new version" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt-SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.open.editor" commandName="Open Declaration" description="Open an editor on the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt-ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.publish" commandName="Publish" description="Publish to server" category="_AHBULyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt-yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.factory" commandName="Introduce Factory" description="Introduce a factory method to encapsulate invocation of the selected constructor" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt_CxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.updateClasspath" commandName="Update Classpath" description="Updates the plug-in classpath from latest settings" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt_SxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.CherryPick" commandName="Cherry Pick" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt_ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.use.supertype" commandName="Use Supertype Where Possible" description="Change occurrences of a type to use a supertype instead" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAt_yxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskUnread" commandName="Mark Task Unread" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuACxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.performTextSearchFile" commandName="Find Text in File" description="Searches the files in the file for specific text." category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuASxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.structure.select.last" commandName="Restore Last Selection" description="Restore last selection" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuAixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.sort.members" commandName="Sort Members" description="Sort all members using the member order preference" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuAyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.cut.line" commandName="Cut Line" description="Cut a line of text, or multiple lines when invoked again without interruption" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuBCxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.view.ui.command.launch" commandName="Open Terminal on Selection" category="_AHBUSyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuBSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.folding.expand_all" commandName="Expand All" description="Expands all folded regions" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuBixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.commands.showElementInPackageView" commandName="Show JavaScript Element in Script Explorer" description="Select JavaScript element in the Script Explorer view" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAuByxQEeymybzsuL9nBA" elementId="elementRef" name="JavaScript element reference" typeId="org.eclipse.wst.jsdt.ui.commands.javaElementReference" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAuCCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsd.ui.refactor.makeElementGlobal" commandName="Make Local Element &amp;Global" description="Promotes local element to global level and replaces its references" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuCSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.encapsulateField.assist" commandName="Quick Assist - Create getter/setter for field" description="Invokes quick assist and selects 'Create getter/setter for field'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuCixQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.openEditorDropdown" commandName="Open Setup Editor" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuCyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.quickStartAction" commandName="Welcome" description="Show help for beginning users" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuDCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ReplaceWithPrevious" commandName="Replace with Previous Revision" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuDSxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.sourcelookup.ui.openPom" commandName="Open Pom" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuDixQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.ui.questionnaire" commandName="Configuration Questionnaire" description="Review the IDE's most fiercely contested preferences" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuDyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.hideShowEditors" commandName="Toggle Shared Area Visibility" description="Toggles the visibility of the shared area" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuECxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.folding.restore" commandName="Reset Structure" description="Resets the folding structure" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuESxQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.indexcommand" commandName="Index" description="Show Keyword Index" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuEixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.clean.up" commandName="Clean Up" description="Solve problems and improve code style on selected resources" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuEyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.GotoMatchingTokenAction" commandName="Goto Matching Token" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuFCxQEeymybzsuL9nBA" elementId="org.eclipse.pde.api.tools.ui.setup.projects" commandName="API &amp;Tools Setup..." description="Configure projects for API usage and compatibility checks" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuFSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.create.delegate.methods" commandName="Generate Delegate Functions" description="Add delegate functions for a type's vars" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuFixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.localJavaShortcut.debug" commandName="Debug Java Application" description="Debug Java Application" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuFyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.forward" commandName="Forward" description="Navigate forward" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuGCxQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.commands.openbuildscript" commandName="Open Gradle Build Script" description="Opens the Gradle build script for the selected Gradle project" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuGSxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.eclipselink.ui.convertJavaConverters" commandName="Move Java Converters to XML..." category="_AHBUOixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuGixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.select.last" commandName="Restore Last Selection" description="Restore last selection" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuGyxQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.commands.openrunconfiguration" commandName="Open Gradle Run Configuration" description="Opens the Run Configuration for the selected Gradle tasks" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuHCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.DeleteTag" commandName="&amp;Delete Tag" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuHSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations" commandName="Remove Occurrence Annotations" description="Removes the occurrence annotations from the current editor" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuHixQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.internal.actions.unmapprojectcommand" commandName="Unlink Project" description="Unlink the cloud application and the project." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuHyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.pinEditor" commandName="Pin Editor" description="Pin the current editor" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuICxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.show.in.package.view" commandName="Show in Script Explorer" description="Show the selected element in the Script Explorer" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuISxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.pageUp" commandName="Page Up" description="Go up one page" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuIixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.submodule.sync" commandName="Sync Submodule" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuIyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.DeleteBranch" commandName="Delete Branch" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuJCxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.copy" commandName="Copy" category="_AHBUUyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuJSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.columnPrevious" commandName="Previous Column" description="Go to the previous column" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuJixQEeymybzsuL9nBA" elementId="org.eclipse.compare.selectNextChange" commandName="Select Next Change" description="Select Next Change" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuJyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.splitJoinVariableDeclaration.assist" commandName="Quick Assist - Split/Join variable declaration" description="Invokes quick assist and selects 'Split/Join variable declaration'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuKCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.assignParamToField.assist" commandName="Quick Assist - Assign parameter to var" description="Invokes quick assist and selects 'Assign parameter to var'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuKSxQEeymybzsuL9nBA" elementId="org.eclipse.ltk.ui.refactoring.commands.renameResource" commandName="Rename Resource" description="Rename the selected resource and notify LTK participants." category="_AHBUWCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuKixQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.importFromRepository" commandName="Import Plug-in from a Repository" description="Imports a plug-in from a source repository" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuKyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Rebase" commandName="Rebase on" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuLCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.ShowInHistory" commandName="Show in History" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuLSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.previousTask" commandName="Previous Task Command" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuLixQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.properties" commandName="Properties" description="Display the properties of the selected item" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuLyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.copy.qualified.name" commandName="Copy Qualified Name" description="Copy a fully qualified name to the system clipboard" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuMCxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.internal.actions.updaterestartmodulecommand" commandName="Update and Restart" description="=Update and Restart" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuMSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ReplaceWithHead" commandName="Replace with HEAD revision" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuMixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.renameInFile.assist" commandName="Quick Assist - Rename in file" description="Invokes quick assist and selects 'Rename in file'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuMyxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.commands.openPreferences" commandName="Open the preferences dialog" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAuNCxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.linkContribution.href" name="URI" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAuNSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.references.in.hierarchy" commandName="References in Hierarchy" description="Search for references of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuNixQEeymybzsuL9nBA" elementId="org.eclipse.ui.activeContextInfo" commandName="Show activeContext Info" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuNyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToPreviousUnread" commandName="Mark Task Read and Go To Previous Unread Task" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuOCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.open.call.hierarchy" commandName="Open Call Hierarchy" description="Open a call hierarchy on the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuOSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.extract.constant" commandName="Extract Constant" description="Extracts a constant into a new static field and uses the new static field" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuOixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.textStart" commandName="Select Text Start" description="Select to the beginning of the text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuOyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.cleanup.document" commandName="Cleanup Document..." description="Cleanup document" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuPCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ConfigurePush" commandName="Configure Upstream Push" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuPSxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.command.nextpage" commandName="Next Page of Memory" description="Load next page of memory" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuPixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.command.gotoaddress" commandName="Go to Address" description="Go to Address" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuPyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.maximizePart" commandName="Maximize Active View or Editor" description="Toggles maximize/restore state of active view or editor" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuQCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.qualifyField" commandName="Quick Fix - Qualify field access" description="Invokes quick assist and selects 'Qualify field access'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuQSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.newEditor" commandName="Clone Editor" description="Open another editor on the active editor's input" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuQixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.format" commandName="Format" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuQyxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.openSearchDialog" commandName="Open Search Dialog" description="Open the Search dialog" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuRCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.contentAssist.proposals" commandName="Content Assist" description="Content Assist" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuRSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.externalize.strings" commandName="Externalize Strings" description="Finds all strings that are not externalized and moves them into a separate property file" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuRixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.up" commandName="Up" description="Navigate up one level" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuRyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.activateEditor" commandName="Activate Editor" description="Activate the editor" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuSCxQEeymybzsuL9nBA" elementId="org.eclipse.m2e.core.ui.command.addPlugin" commandName="Add Maven Plugin" description="Add Maven Plugin" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuSSxQEeymybzsuL9nBA" elementId="sed.tabletree.expandAll" commandName="Expand All" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuSixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.modify.method.parameters" commandName="Change Method Signature" description="Change method signature includes parameter names and parameter order" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuSyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.delete.line.to.end" commandName="Delete to End of Line" description="Delete to the end of a line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuTCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.CreateBranch" commandName="Create Branch..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuTSxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.mergeSessions" commandName="Merge Sessions" category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuTixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.extractLocal.assist" commandName="Quick Assist - Extract local variable (replace all occurrences)" description="Invokes quick assist and selects 'Extract local variable (replace all occurrences)'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuTyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.Terminate" commandName="Terminate" description="Terminate" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuUCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ShowRepositoriesView" commandName="Show Git Repositories View" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuUSxQEeymybzsuL9nBA" elementId="org.eclipse.help.ui.ignoreMissingPlaceholders" commandName="Do not warn of missing documentation" description="Sets the help preferences to no longer report a warning about the current set of missing documents." category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuUixQEeymybzsuL9nBA" elementId="org.eclipse.compare.compareWithOther" commandName="Compare With Other Resource" description="Compare resources, clipboard contents or editors" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuUyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.open.external.javadoc" commandName="Open External JSDoc" description="Open the JSDoc of the selected element in an external browser" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuVCxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.connectcommand" commandName="Connect" description="Connect to Server" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuVSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.CreatePatch" commandName="Create Patch" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuVixQEeymybzsuL9nBA" elementId="org.eclipse.ui.editors.revisions.author.toggle" commandName="Toggle Revision Author Display" description="Toggles the display of the revision author" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuVyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.windowEnd" commandName="Window End" description="Go to the end of the window" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuWCxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.eclipselink.ui.persistentTypeAddVirtualAttribute" commandName="Add Virtual Attribute..." category="_AHBUPCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuWSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.perspectives.showPerspective" commandName="Show Perspective" description="Show a particular perspective" category="_AHBUVyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAuWixQEeymybzsuL9nBA" elementId="org.eclipse.ui.perspectives.showPerspective.perspectiveId" name="Parameter"/>
+    <parameters xmi:id="_AHAuWyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.perspectives.showPerspective.newWindow" name="In New Window"/>
+  </commands>
+  <commands xmi:id="_AHAuXCxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.eclipselink.ui.newDynamicEntity" commandName="EclipseLink Dynamic Entity" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuXSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.line" commandName="Go to Line" description="Go to a specified line of text" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuXixQEeymybzsuL9nBA" elementId="org.eclipse.ui.editors.quickdiff.revert" commandName="Revert Lines" description="Revert the current selection, block or deleted lines" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuXyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.implement.occurrences" commandName="Search Implement Occurrences in File" description="Search for implement occurrences of a selected type" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuYCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.javaAppletShortcut.debug" commandName="Debug Java Applet" description="Debug Java Applet" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuYSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.gotoMatchingTag" commandName="Matching Tag" description="Go to Matching Tag" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuYixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.lineUp" commandName="Select Line Up" description="Extend the selection to the previous line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuYyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.saveToDatabaseAction" commandName="Save to Database" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuZCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.submodule.add" commandName="Add Submodule" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuZSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.cut.line.to.end" commandName="Cut to End of Line" description="Cut to the end of a line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuZixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.convertAnonymousToLocal.assist" commandName="Quick Assist - Convert anonymous to local class" description="Invokes quick assist and selects 'Convert anonymous to local class'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuZyxQEeymybzsuL9nBA" elementId="org.eclipse.compare.copyLeftToRight" commandName="Copy from Left to Right" description="Copy Current Change from Left to Right" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuaCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.openProject" commandName="Open Project" description="Open a project" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuaSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.ShowBlame" commandName="Show Revision Information" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuaixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.addSuppressWarnings" commandName="Quick Fix - Add @SuppressWarnings" description="Invokes quick fix and selects 'Add @SuppressWarnings' " category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuayxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.persistentAttributeAddToXml" commandName="Add Attribute to XML" category="_AHBUPCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAubCxQEeymybzsuL9nBA" elementId="org.eclipse.tips.ide.command.trim.open" commandName="Tip of the Day" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAubSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.push.down" commandName="Push Down" description="Move members to subclasses" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAubixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.project" commandName="Write Access in Project" description="Search for write references to the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAubyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.selectCounters" commandName="Select Counters" category="_AHBUMSxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAucCxQEeymybzsuL9nBA" elementId="type" name="type" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAucSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.project.properties" commandName="Properties" description="Display the properties of the selected item's project " category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAucixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CompareVersionsInTree" commandName="Compare in Tree" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAucyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.persistentTypeMapAs" commandName="Map As" category="_AHBUPCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAudCxQEeymybzsuL9nBA" elementId="persistentTypeMappingKey" name="mapping key" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAudSxQEeymybzsuL9nBA" elementId="org.eclipse.epp.package.common.contribute" commandName="Contribute" description="Contribute to the development and success of the Eclipse IDE!" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAudixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.DMLDialogSelectionAction" commandName="Edit in SQL Query Builder..." category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAudyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.columnPrevious" commandName="Select Previous Column" description="Select the previous column" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAueCxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.dbws.ui.generateDbws" commandName="Generate Database Web Services" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAueSxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.junitWorkbenchShortcut.debug" commandName="Debug JUnit Plug-in Test" description="Debug JUnit Plug-in Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAueixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.extractLocalNotReplaceOccurrences.assist" commandName="Quick Assist - Extract local variable" description="Invokes quick assist and selects 'Extract local variable'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAueyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.attachProfileAction" commandName="Set Connection Information" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAufCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesToggleBranchHierarchy" commandName="Toggle Branch Representation" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAufSxQEeymybzsuL9nBA" elementId="org.eclipse.ltk.ui.refactoring.commands.deleteResources" commandName="Delete Resources" description="Delete the selected resources and notify LTK participants." category="_AHBUWCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAufixQEeymybzsuL9nBA" elementId="org.eclipse.ui.file.print" commandName="Print" description="Print" category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAufyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.AllReferences" commandName="All References" description="Inspect all references to the selected object" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAugCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.junit.junitShortcut.rerunLast" commandName="Rerun JUnit Test" description="Rerun JUnit Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAugSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.format.active.elements" commandName="Format Active Elements" description="Format active elements" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAugixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.connectivity.commands.import" commandName="Import Profiles Command" description="Command to import connection profiles" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAugyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.showRulerContextMenu" commandName="Show Ruler Context Menu" description="Show the context menu for the ruler" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuhCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.working.set" commandName="References in Working Set" description="Search for references to the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuhSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.task.clearOutgoing" commandName="Clear Outgoing Changes" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuhixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.folding.collapse" commandName="Collapse" description="Collapses the folded region at the current selection" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuhyxQEeymybzsuL9nBA" elementId="org.eclipse.epp.mpc.ui.command.showFavorites" commandName="Eclipse Marketplace Favorites" description="Open Marketplace Favorites" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuiCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.smartEnterInverse" commandName="Insert Line Above Current Line" description="Adds a new line above the current line" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuiSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.spy" commandName="Show Contributing Plug-in" description="Shows contribution information for the currently selected element" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuiixQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.helpSearch" commandName="Help Search" description="Open the help search" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuiyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.infer.type.arguments" commandName="Infer Generic Type Arguments" description="Infer type arguments for references to generic classes and remove unnecessary casts" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAujCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.lineDown" commandName="Line Down" description="Go down one line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAujSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.Checkout" commandName="Check Out" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAujixQEeymybzsuL9nBA" elementId="org.eclipse.m2e.actions.LifeCycleClean.run" commandName="Run Maven Clean" description="Run Maven Clean" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAujyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.gotoLastEditPosition" commandName="Last Edit Location" description="Last edit location" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAukCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.open.hyperlink" commandName="Open Hyperlink" description="Opens the hyperlink at the caret location or opens a chooser if more than one hyperlink is available" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAukSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.convertToEclipseHelpCommand" commandName="Generate Eclipse Help (*.html and *-toc.xml)" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAukixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.exception.occurrences" commandName="Search Exception Occurrences in File" description="Search for exception occurrences of a selected exception type" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAukyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.command.prevpage" commandName="Previous Page of Memory" description="Load previous page of memory" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAulCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.ForceReturn" commandName="Force Return" description="Forces return from method with value of selected expression " category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAulSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.configureFilters" commandName="Filters..." description="Configure the filters to apply to the markers view" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAulixQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.importSession" commandName="Import Session..." category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAulyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.previousTab" commandName="Previous Tab" description="Switch to the previous tab" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAumCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.declarations.in.hierarchy" commandName="Declaration in Hierarchy" description="Search for declarations of the selected element in its hierarchy" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAumSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.dialogs.openMessageDialog" commandName="Open Message Dialog" description="Open a Message Dialog" category="_AHBUNyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAumixQEeymybzsuL9nBA" elementId="title" name="Title"/>
+    <parameters xmi:id="_AHAumyxQEeymybzsuL9nBA" elementId="message" name="Message"/>
+    <parameters xmi:id="_AHAunCxQEeymybzsuL9nBA" elementId="imageType" name="Image Type Constant" typeId="org.eclipse.ui.dialogs.Integer"/>
+    <parameters xmi:id="_AHAunSxQEeymybzsuL9nBA" elementId="defaultIndex" name="Default Button Index" typeId="org.eclipse.ui.dialogs.Integer"/>
+    <parameters xmi:id="_AHAunixQEeymybzsuL9nBA" elementId="buttonLabel0" name="First Button Label"/>
+    <parameters xmi:id="_AHAunyxQEeymybzsuL9nBA" elementId="buttonLabel1" name="Second Button Label"/>
+    <parameters xmi:id="_AHAuoCxQEeymybzsuL9nBA" elementId="buttonLabel2" name="Third Button Label"/>
+    <parameters xmi:id="_AHAuoSxQEeymybzsuL9nBA" elementId="buttonLabel3" name="Fourth Button Label"/>
+    <parameters xmi:id="_AHAuoixQEeymybzsuL9nBA" elementId="cancelReturns" name="Return Value on Cancel"/>
+  </commands>
+  <commands xmi:id="_AHAuoyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.findReferences" commandName="Find References" description="Find other code items referencing the current selected item." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAupCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.lineEnd" commandName="Line End" description="Go to the end of the line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAupSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commit.CreateTag" commandName="Create Tag..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAupixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.extract.method" commandName="Extract Function" description="Extract a set of statements or an expression into a new function and use the new function" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAupyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.generateDDL" commandName="Generate Tables from Entities..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuqCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.referencedFileErrors" commandName="Show Details..." description="Show Details..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuqSxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.runAction" commandName="Run" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuqixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.RunLast" commandName="Run" description="Launch in run mode" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuqyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.externalTools.commands.OpenExternalToolsConfigurations" commandName="External Tools..." description="Open external tools launch configuration dialog" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAurCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.command.OpenFromClipboard" commandName="Open from Clipboard" description="Opens a Java element or a Java stack trace from clipboard" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAurSxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.internationalize" commandName="Internationalize Plug-ins" description="Sets up internationalization for a plug-in" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAurixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.deletePrevious" commandName="Delete Previous" description="Delete the previous character" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuryxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.CompareWithPrevious" commandName="Compare with Previous Revision" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAusCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.select.columnNext" commandName="Select Next Column" description="Select the next column" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAusSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.workspace" commandName="Read Access in Workspace" description="Search for read references to the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAusixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.implementors.in.workspace" commandName="Implementors in Workspace" description="Search for implementors of the selected interface" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAusyxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.TerminateAndRelaunch" commandName="Terminate and Relaunch" description="Terminate and Relaunch" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAutCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.JavaHierarchyPerspective" commandName="Java Type Hierarchy" description="Show the Java Type Hierarchy perspective" category="_AHBUVyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAutSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.declarations.in.project" commandName="Declaration in Project" description="Search for declarations of the selected element in the enclosing project" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAutixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.surround.with.try.multicatch" commandName="Surround with try/multi-catch Block" description="Surround the selected text with a try/multi-catch block" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAutyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Tag" commandName="Tag" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuuCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.NoAssumeUnchanged" commandName="No Assume Unchanged" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuuSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.JavadocView" commandName="Documentation" description="Show the JavaScript Documentation view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuuixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.RemoveAllBreakpoints" commandName="Remove All Breakpoints" description="Removes all breakpoints" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuuyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.resources.nested.changeProjectPresentation" commandName="P&amp;rojects Presentation" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAuvCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigator.resources.nested.enabled" name="&amp;Hierarchical"/>
+    <parameters xmi:id="_AHAuvSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.commands.radioStateParameter" name="Nested Project view - Radio State" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAuvixQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.showKeyAssist" commandName="Show Key Assist" description="Show the key assist dialog" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuvyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.genericeditor.togglehighlight" commandName="Toggle Highlight" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuwCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.introduce.parameter.object" commandName="Introduce Parameter Object" description="Introduce a parameter object to a selected method" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuwSxQEeymybzsuL9nBA" elementId="org.eclipse.gef.zoom_out" commandName="Zoom Out" description="Zoom Out" category="_AHBUWSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuwixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.commands.openElementInEditor" commandName="Open Java Element" description="Open a Java element in its editor" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAuwyxQEeymybzsuL9nBA" elementId="elementRef" name="Java element reference" typeId="org.eclipse.jdt.ui.commands.javaElementReference" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAuxCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.uncomment" commandName="Uncomment" description="Uncomment the selected JavaScript comment lines" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuxSxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.result.removeInstance" commandName="Remove Result" category="_AHBUNCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuxixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.AddToIndex" commandName="Add to Index" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuxyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.discovery.ui.discoveryWizardCommand" commandName="Discovery Wizard" description="shows the connector discovery wizard" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuyCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.read.access.in.working.set" commandName="Read Access in Working Set" description="Search for read references to the selected element in a working set" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuySxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.persistentAttributeAddToXmlAndMap" commandName="Add Attribute to XML and Map..." category="_AHBUPCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuyixQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.commands.refreshtaskview" commandName="Refresh View (Gradle Tasks)" description="Refreshes the Gradle Tasks view" category="_AHBUQyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuyyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.toggle.comment" commandName="Toggle Comment" description="Toggle Comment" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuzCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.tipsAndTricksAction" commandName="Tips and Tricks" description="Open the tips and tricks help page" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuzSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.format" commandName="Format" description="Format the selected text" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuzixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.smartEnter" commandName="Insert Line Below Current Line" description="Adds a new line below the current line" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAuzyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.select.previous" commandName="Select Previous Element" description="Expand selection to include previous sibling" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu0CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.goto.lineStart" commandName="Line Start" description="Go to the start of the line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu0SxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.editor.synchronizePreferences" commandName="Synchronize Preferences" category="_AHBURyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu0ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.ui.cmnd.contentmodel.sych" commandName="Synch" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu0yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewConfigureBranch" commandName="Configure Branch" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu1CxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.Suspend" commandName="Suspend" description="Suspend" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu1SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.hippieCompletion" commandName="Word Completion" description="Context insensitive completion" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu1ixQEeymybzsuL9nBA" elementId="org.eclipse.wst.xsd.ui.refactor.renameTargetNamespace" commandName="Rename Target Namespace" description="Changes the target namespace of the schema" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu1yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.folding.collapseComments" commandName="Collapse Comments" description="Collapse all comments" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu2CxQEeymybzsuL9nBA" elementId="org.eclipse.team.ui.synchronizeLast" commandName="Repeat last synchronization" description="Repeat the last synchronization" category="_AHBUQixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu2SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.generate.javadoc" commandName="Generate Javadoc" description="Generates Javadoc for a selectable set of Java resources" category="_AHBUUixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu2ixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.RepositoriesViewConfigureGerritRemote" commandName="Gerrit Configuration..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu2yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.StepIntoSelection" commandName="Step Into Selection" description="Step into the current selected statement" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu3CxQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.shortcut.test.run" commandName="Run Gradle Test" description="Run Gradle test based on the current selection" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu3SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.configureColumns" commandName="Configure Columns..." description="Configure the columns in the markers view" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu3ixQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ReplaceWithCommit" commandName="Replace with commit" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu3yxQEeymybzsuL9nBA" elementId="org.eclipse.jst.pagedesigner.design" commandName="Graphical Designer" category="_AHBURCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu4CxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.quickaccess" commandName="Quick Access" category="_AHBUUyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu4SxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.DebugLast" commandName="Debug" description="Launch in debug mode" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu4ixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.convertToHtmlCommand" commandName="Generate HTML" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu4yxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.openManifest" commandName="Open Manifest" description="Open the plug-in manifest" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu5CxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.previousView" commandName="Previous View" description="Switch to the previous view" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu5SxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.self.encapsulate.field" commandName="Encapsulate Var" description="Create getting and setting functions for the var and use only those to access the var" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu5ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.generate.tostring" commandName="Generate toString()" description="Generates the toString() method for the type" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu5yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CompareWithHead" commandName="Compare with HEAD Revision" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu6CxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.organize.imports" commandName="Organize Imports" description="Evaluate all required imports and replace the current imports" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu6SxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.markers.copyDescription" commandName="Copy Description To Clipboard" description="Copies markers description field to the clipboard" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu6ixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.DropToFrame" commandName="Drop to Frame" description="Drop to Frame" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu6yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.promote.local.variable" commandName="Convert Local Variable to Var" description="Convert a local variable to a var" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu7CxQEeymybzsuL9nBA" elementId="org.eclipse.pde.api.tools.ui.compare.to.baseline" commandName="API Baseline..." description="Allows to compare the selected resource with the current baseline" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu7SxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.imagebrowser.saveToWorkspace" commandName="Save Image" description="Save the selected image into a project in the workspace" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu7ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.debug.ui.commands.Display" commandName="Display" description="Display result of evaluating selected text" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu7yxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.exception.occurrences" commandName="Search Exception Occurrences in File" description="Search for exception occurrences of a selected exception type" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu8CxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.view.ui.command.disconnect" commandName="Disconnect Terminal" category="_AHBUSyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu8SxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.ShowBlame" commandName="Show Revision Information" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu8ixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.assignToField.assist" commandName="Quick Assist - Assign to field" description="Invokes quick assist and selects 'Assign to field'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu8yxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.folding.expand" commandName="Expand" description="Expands the folded region at the current selection" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu9CxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.extract.method" commandName="Extract Method" description="Extract a set of statements or an expression into a new method and use the new method" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu9SxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.eclipselink.ui.newEclipseLinkMappingFile" commandName="EclipseLink ORM Mapping File" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu9ixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.openRemoteTask" commandName="Open Remote Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu9yxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.nextMemoryBlock" commandName="Next Memory Monitor" description="Show renderings from next memory monitor." category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu-CxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.internal.reflog.OpenInCommitViewerCommand" commandName="Open in Commit Viewer" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu-SxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.task.retrieveContext" commandName="Retrieve Context" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu-ixQEeymybzsuL9nBA" elementId="org.eclipse.jst.jsp.ui.refactor.rename" commandName="Rename" description="Rename a Java Element" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu-yxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.Fetch" commandName="Fetch" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu_CxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.junitWorkbenchShortcut.run" commandName="Run JUnit Plug-in Test" description="Run JUnit Plug-in Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu_SxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.navigate.gotopackage" commandName="Go to Package" description="Go to Package" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu_ixQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.togglestatusbar" commandName="Toggle Statusbar" description="Toggle the visibility of the bottom status bar" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAu_yxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.chromium.debug.ui.commands.Inspect" commandName="Inspect" description="Inspect result of evaluating selected text" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvACxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.task.ui.editor.QuickOutline" commandName="Quick Outline" description="Show the quick outline for the editor input" category="_AHBULixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvASxQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.commands.addbuildshipnature" commandName="Add Gradle Nature" description="Adds the Gradle nature and synchronizes this project as if the Gradle Import wizard had been run on its location." category="_AHBUKixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvAixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.eof" commandName="EOF" description="Send end of file" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvAyxQEeymybzsuL9nBA" elementId="org.eclipse.jst.pagedesigner.horizotal" commandName="Horizontal Layout" category="_AHBURCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvBCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.AbortRebase" commandName="Abort Rebase" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvBSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.showInQuickMenu" commandName="Show In..." description="Open the Show In menu" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvBixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.copyLineUp" commandName="Duplicate Lines" description="Duplicates the selected lines and leaves the selection unchanged" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvByxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.ToggleMethodBreakpoint" commandName="Toggle Method Breakpoint" description="Creates or removes a method breakpoint" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvCCxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.navigate.java.open.structure" commandName="Open Structure" description="Show the structure of the selected element" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvCSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.chromium.debug.js.command" commandName="Chrome / Chromium Debugger" category="_AHBUOSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvCixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.assignToLocal.assist" commandName="Quick Assist - Assign to local variable" description="Invokes quick assist and selects 'Assign to local variable'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvCyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.next" commandName="Next" description="Navigate to the next item" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvDCxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.commands.openHelp" commandName="Open a help page resource" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvDSxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.linkContribution.href" name="URI" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAvDixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.bugs.commands.newTaskFromMarker" commandName="New Task from Marker..." description="Report as Bug from Marker" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvDyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.refactor.apply.refactoring.script" commandName="Apply Script" description="Perform refactorings from a refactoring script on the local workspace" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvECxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.run" commandName="Run" description="Run server" category="_AHBULyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvESxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.focus.view" commandName="Focus View" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvEixQEeymybzsuL9nBA" elementId="viewId" name="View ID to Focus" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAvEyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.testNgShortcut.coverage" commandName="Coverage TestNG Test" description="Coverage TestNG Test" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvFCxQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.StepReturn" commandName="Step Return" description="Step return" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvFSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.browser.openBundleResource" commandName="Open Resource in Browser" description="Opens a bundle resource in the default web browser." category="_AHBUMyxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvFixQEeymybzsuL9nBA" elementId="plugin" name="Plugin"/>
+    <parameters xmi:id="_AHAvFyxQEeymybzsuL9nBA" elementId="path" name="Path"/>
+  </commands>
+  <commands xmi:id="_AHAvGCxQEeymybzsuL9nBA" elementId="org.eclipse.jst.pagedesigner.source" commandName="Source Code" category="_AHBURCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvGSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.help.aboutAction" commandName="About" description="Open the about dialog" category="_AHBUUSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvGixQEeymybzsuL9nBA" elementId="org.eclipse.wst.common.project.facet.ui.ConvertProjectToFacetedForm" commandName="Convert to Faceted Form..." category="_AHBUMixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvGyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.annotate.classFile" commandName="Annotate Class File" description="Externally add Annotations to a Class File." category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvHCxQEeymybzsuL9nBA" elementId="org.eclipse.cft.server.ui.internal.actions.openhomepagecommand" commandName="Open Home Page" description="Open Home Page" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvHSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.stash.create" commandName="Stash Changes..." category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvHixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.replace.invocations" commandName="Replace Invocations" description="Replace invocations of the selected function" category="_AHBUQSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvHyxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CheckoutCommand" commandName="Check Out" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvICxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.command.activateSelectedTask" commandName="Activate Selected Task" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvISxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.references.in.workspace" commandName="References in Workspace" description="Search for references to the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvIixQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.format.document" commandName="Format" description="Format selection" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvIyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.addNonNLS" commandName="Quick Fix - Add non-NLS tag" description="Invokes quick assist and selects 'Add non-NLS tag'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvJCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.search.write.access.in.workspace" commandName="Write Access in Workspace" description="Search for write references to the selected element in the workspace" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvJSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.team.RemoveFromIndex" commandName="Remove from Index" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvJixQEeymybzsuL9nBA" elementId="org.eclipse.ui.newWizard" commandName="New" description="Open the New item wizard" category="_AHBUMixQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvJyxQEeymybzsuL9nBA" elementId="newWizardId" name="New Wizard"/>
+  </commands>
+  <commands xmi:id="_AHAvKCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.window.newWindow" commandName="New Window" description="Open another window" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvKSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.uncomment" commandName="Uncomment" description="Uncomment the selected Java comment lines" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvKixQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.importer.configureProject" commandName="Configure and Detect Nested Projects..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvKyxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui.selectActiveSession" commandName="Select Active Session..." category="_AHBUMSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvLCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.history.CompareVersions" commandName="Compare with each other" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvLSxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.sdk.install" commandName="Install New Software..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvLixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands.interest.decrement" commandName="Make Less Interesting" description="Make Less Interesting" category="_AHBULCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvLyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar" commandName="Run Last Launched External Tool" description="Runs the last launched external Tool" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvMCxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.CheckoutCommand" commandName="Check Out" category="_AHBUVSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvMSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file" commandName="Search All Occurrences in File" description="Search for all occurrences of the selected element in its declaring file" category="_AHBUVCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvMixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.moveLineUp" commandName="Move Lines Up" description="Moves the selected lines up" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvMyxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.discovery.commands.ShowBundleCatalog" commandName="Show Bundle Catalog" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvNCxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.discovery.commands.DirectoryParameter" name="Directory URL"/>
+    <parameters xmi:id="_AHAvNSxQEeymybzsuL9nBA" elementId="org.eclipse.equinox.p2.ui.discovery.commands.TagsParameter" name="Tags"/>
+  </commands>
+  <commands xmi:id="_AHAvNixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.gotoBreadcrumb" commandName="Show In Breadcrumb" description="Shows the Java editor breadcrumb and sets the keyboard focus into it" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvNyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.runtimeWorkbenchShortcut.debug" commandName="Debug Eclipse Application" description="Debug Eclipse Application" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvOCxQEeymybzsuL9nBA" elementId="org.eclipse.userstorage.ui.showPullDown" commandName="Show Pull Down Menu" category="_AHBUUSxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvOSxQEeymybzsuL9nBA" elementId="intoolbar" name="In Tool Bar" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAvOixQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.makePersistent" commandName="Make Persistent..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvOyxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.ExecuteSelectionAction" commandName="Execute Selected Text" category="_AHBUVixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvPCxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jaxb.ui.command.createPackageInfo" commandName="Create package-info.java" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvPSxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.edit.text.java.extract.class" commandName="Extract Class..." description="Extracts fields into a new class" category="_AHBUTyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvPixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.correction.extractConstant.assist" commandName="Quick Assist - Extract constant" description="Invokes quick assist and selects 'Extract constant'" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvPyxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.rcp.commands.extensionDiscovery" commandName="Discover New Extensions" category="_AHBUQCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvQCxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.utils.rcp.linkContribution.href" name="URI" optional="false"/>
+  </commands>
+  <commands xmi:id="_AHAvQSxQEeymybzsuL9nBA" elementId="org.eclipse.compare.copyRightToLeft" commandName="Copy from Right to Left" description="Copy Current Change from Right to Left" category="_AHBUTCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvQixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.commands.OpenProfileConfigurations" commandName="Profile..." description="Open profile launch configuration dialog" category="_AHBUNixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvQyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.newMappingFile" commandName="JPA ORM Mapping File" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvRCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.markCompleted" commandName="Mark Completed" description="Mark the selected tasks as completed" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvRSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.comment" commandName="Comment" description="Turn the selected lines into JavaScript comments" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvRixQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.recenter" commandName="Recenter" description="Scroll cursor line to center, top and bottom" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvRyxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.xmlFileUpgradeToLatestVersion" commandName="Upgrade JPA Document Version" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvSCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.edit.text.scroll.lineDown" commandName="Scroll Line Down" description="Scroll down one line of text" category="_AHBUKyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvSSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.search.find.occurrences" commandName="Occurrences in File" description="Find occurrences of the selection in the file" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvSixQEeymybzsuL9nBA" elementId="org.eclipse.ui.ToggleCoolbarAction" commandName="Toggle Main Toolbar Visibility" description="Toggles the visibility of the window toolbar" category="_AHBUMyxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvSyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.navigate.open.type.in.hierarchy" commandName="Open Type in Hierarchy" description="Open a type in the type hierarchy view" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvTCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.sse.ui.outline.customFilter" commandName="&amp;Filters" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvTSxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqlscrapbook.commands.openscrapbook" commandName="Open SQL Scrapboo&amp;k" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvTixQEeymybzsuL9nBA" elementId="org.eclipse.ui.navigate.openResource" commandName="Open Resource" description="Open an editor on a particular resource" category="_AHBUSCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHAvTyxQEeymybzsuL9nBA" elementId="filePath" name="File Path" typeId="org.eclipse.ui.ide.resourcePath"/>
+  </commands>
+  <commands xmi:id="_AHAvUCxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.correction.addBlock.assist" commandName="Quick Assist - Replace statement with block" description="Invokes quick assist and selects 'Replace statement with block'" category="_AHBULSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvUSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.edit.text.java.goto.previous.member" commandName="Go to Previous Member" description="Move the caret to the previous member of the JavaScript file" category="_AHBUSCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvUixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ant.ui.actionSet.presentation/org.eclipse.ant.ui.toggleAutoReconcile" commandName="Toggle Ant Editor Auto Reconcile" description="Toggle Ant Editor Auto Reconcile" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvUyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.datatools.sqltools.sqlscrapbook.actionSet/org.eclipse.datatools.sqltools.sqlscrapbook.actions.OpenScrapbookAction" commandName="Open SQL Scrapbook" description="Open scrapbook to edit SQL statements" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvVCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.RunWithConfigurationAction" commandName="Run As" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvVSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.RunHistoryMenuAction" commandName="Run History" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvVixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.RunDropDownAction" commandName="Run" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvVyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.DebugWithConfigurationAction" commandName="Debug As" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvWCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.DebugHistoryMenuAction" commandName="Debug History" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvWSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.launchActionSet/org.eclipse.debug.internal.ui.actions.DebugDropDownAction" commandName="Debug" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvWixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.profileActionSet/org.eclipse.debug.internal.ui.actions.ProfileDropDownAction" commandName="Profile" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvWyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.profileActionSet/org.eclipse.debug.internal.ui.actions.ProfileWithConfigurationAction" commandName="Profile As" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvXCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.profileActionSet/org.eclipse.debug.internal.ui.actions.ProfileHistoryMenuAction" commandName="Profile History" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvXSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.eclemma.ui.CoverageActionSet/org.eclipse.eclemma.ui.actions.CoverageDropDownAction" commandName="Coverage" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvXixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.eclemma.ui.CoverageActionSet/org.eclipse.eclemma.ui.actions.CoverageAsAction" commandName="Coverage As" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvXyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.eclemma.ui.CoverageActionSet/org.eclipse.eclemma.ui.actions.CoverageHistoryAction" commandName="Coverage History" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvYCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.ui.JavaElementCreationActionSet/org.eclipse.jdt.ui.actions.NewTypeDropDown" commandName="Class..." description="New Java Class" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvYSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.ui.JavaElementCreationActionSet/org.eclipse.jdt.ui.actions.OpenPackageWizard" commandName="Package..." description="New Java Package" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvYixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.ui.JavaElementCreationActionSet/org.eclipse.jdt.ui.actions.OpenProjectWizard" commandName="Java Project..." description="New Java Project" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvYyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.ui.SearchActionSet/org.eclipse.jdt.ui.actions.OpenJavaSearchPage" commandName="Java..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvZCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jst.j2ee.J2eeMainActionSet/org.eclipse.jst.j2ee.internal.actions.NewJavaEEArtifact" commandName="Servlet" description="Create a new Servlet" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvZSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jst.j2ee.J2eeMainActionSet/org.eclipse.jst.j2ee.internal.actions.NewJavaEEProject" commandName="Dynamic Web Project" description="Create a Dynamic Web project" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvZixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.java.actionSet.browsing/org.eclipse.mylyn.java.ui.actions.ApplyMylynToBrowsingPerspectiveAction" commandName="Focus Browsing Perspective" description="Focus Java Browsing Views on Active Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvZyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.doc.actionSet/org.eclipse.mylyn.tasks.ui.bug.report" commandName="Report Bug or Enhancement..." description="Report Bug or Enhancement" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvaCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.navigation.additions/org.eclipse.mylyn.tasks.ui.navigate.task.history" commandName="Activate Previous Task" description="Activate Previous Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvaSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.pde.ui.SearchActionSet/org.eclipse.pde.ui.actions.OpenPluginSearchPage" commandName="Plug-in..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvaixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction" commandName="Cheat Sheets..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvayxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.rse.core.search.searchActionSet/org.eclipse.rse.core.search.searchAction" commandName="Remote..." description="Opens Remote Search dialog page for text and file searching on remote systems" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvbCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.search.searchActionSet/org.eclipse.search.OpenSearchDialogPage" commandName="Search..." description="Search" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvbSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.team.ui.actionSet/org.eclipse.team.ui.synchronizeAll" commandName="Synchronize..." description="Synchronize..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvbixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.team.ui.actionSet/org.eclipse.team.ui.ConfigureProject" commandName="Share Project..." description="Share the project with others using a version and configuration management system." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvbyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ui.externaltools.ExternalToolsSet/org.eclipse.ui.externaltools.ExternalToolMenuDelegateMenu" commandName="External Tools" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvcCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.chromium.debug.ui.actionSets/org.eclipse.wst.jsdt.chromium.debug.ui.actions.AddExceptionBreakpointAction" commandName="Add V8/Chrome JavaScript Exception Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvcSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.ui.JavaElementCreationActionSet/org.eclipse.wst.jsdt.ui.actions.OpenFileWizard" commandName="JavaScript Source File" description="New JavaScript file" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvcixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.ui.JavaElementCreationActionSet/org.eclipse.wst.jsdt.ui.actions.OpenProjectWizard" commandName="JavaScript Project..." description="New JavaScript Project" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvcyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.refactor.show.refactoring.history" commandName="History..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvdCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.ui.SearchActionSet/org.eclipse.wst.jsdt.ui.actions.OpenJavaSearchPage" commandName="JavaScript..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvdSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.server.ui.new.actionSet/org.eclipse.wst.server.ui.action.new.server" commandName="Create Server" description="Create Server" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvdixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.server.ui.internal.webbrowser.actionSet/org.eclipse.wst.server.ui.internal.webbrowser.action.open" commandName="Open Web Browser" description="Open Web Browser" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAvdyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.server.ui.internal.webbrowser.actionSet/org.eclipse.wst.server.ui.internal.webbrowser.action.switch" commandName="Web Browser" description="Web Browser" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAveCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.web.ui.wizardsActionSet/org.eclipse.wst.web.ui.actions.newCSSFile" commandName="CSS" description="Create a new Cascading Style Sheet" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAveSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.web.ui.wizardsActionSet/org.eclipse.wst.web.ui.actions.newJSFile" commandName="JavaScript" description="Create a new JavaScript file" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAveixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.web.ui.wizardsActionSet/org.eclipse.wst.web.ui.actions.newHTMLFile" commandName="HTML" description="Create a new HTML page" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHAveyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.ws.explorer.explorer/org.eclipse.wst.ws.internal.explorer.action.LaunchWSEAction" commandName="Launch the Web Services Explorer" description="Launch the Web Services Explorer" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTkCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ant.ui.BreakpointRulerActions/org.eclipse.ant.ui.actions.ManageBreakpointRulerAction" commandName="Toggle Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTkSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.datatools.sqltools.rullerDoubleClick/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction" commandName="Add Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTkixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.exporter.genModelEditorContribution/org.eclipse.emf.exporter.ui.GenModelExportActionDelegate.Editor" commandName="Export Model..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTkyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.importer.genModelEditorContribution/org.eclipse.emf.importer.ui.GenModelReloadActionDelegate.Editor" commandName="Reload..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTlCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.mapping.ecore2ecore.presentation.Ecore2EcoreContributionID/org.eclipse.emf.mapping.action.RemoveMappingActionID" commandName="Remove Mapping" description="Remove the mapping associated with the selected objects." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTlSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.mapping.ecore2ecore.presentation.Ecore2EcoreContributionID/org.eclipse.emf.mapping.action.TypeMatchMappingActionID" commandName="Match Mapping by Type" description="Create child mappings automatically by type." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTlixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.mapping.ecore2ecore.presentation.Ecore2EcoreContributionID/org.eclipse.emf.mapping.action.NameMatchMappingActionID" commandName="Match Mapping by Name" description="Create child mappings automatically by name." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTlyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.mapping.ecore2ecore.presentation.Ecore2EcoreContributionID/org.eclipse.emf.mapping.action.CreateOneSidedMappingActionID" commandName="Create One-sided Mapping" description="Create a new mapping for the selected object." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTmCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.mapping.ecore2ecore.presentation.Ecore2EcoreContributionID/org.eclipse.emf.mapping.action.CreateMappingActionID" commandName="Create Mapping" description="Create a new mapping between the selected objects." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTmSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.mapping.ecore2ecore.presentation.Ecore2EcoreContributionID/org.eclipse.emf.mapping.ecore2ecore.action.AddOuputRootActionID" commandName="Add Output Root..." description="Add new output root." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTmixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.emf.mapping.ecore2ecore.presentation.Ecore2EcoreContributionID/org.eclipse.emf.mapping.ecore2ecore.action.AddInputRootActionID" commandName="Add Input Root..." description="Add new input root." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTmyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.CompilationUnitEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction" commandName="Toggle Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTnCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ClassFileEditor.BreakpointRulerActions/org.eclipse.jdt.debug.ui.actions.ManageBreakpointRulerAction" commandName="Toggle Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTnSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions/org.eclipse.jdt.debug.ui.SnippetExecute" commandName="Execute" description="Execute the Selected Text" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTnixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions/org.eclipse.jdt.debug.ui.SnippetDisplay" commandName="Display" description="Display Result of Evaluating Selected Text" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTnyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.JavaSnippetToolbarActions/org.eclipse.jdt.debug.ui.SnippetInspect" commandName="Inspect" description="Inspect Result of Evaluating Selected Text" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBToCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.CompilationUnitEditor.ruler.actions/org.eclipse.jdt.internal.ui.javaeditor.BookmarkRulerAction" commandName="Java Editor Bookmark Ruler Action" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBToSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.CompilationUnitEditor.ruler.actions/org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction" commandName="Java Editor Ruler Single-Click" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBToixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.ClassFileEditor.ruler.actions/org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction" commandName="Java Editor Ruler Single-Click" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBToyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.PropertiesFileEditor.ruler.actions/org.eclipse.jdt.internal.ui.propertiesfileeditor.BookmarkRulerAction" commandName="Java Editor Bookmark Ruler Action" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTpCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.internal.ui.PropertiesFileEditor.ruler.actions/org.eclipse.jdt.internal.ui.propertiesfileeditor.SelectRulerAction" commandName="Java Editor Ruler Single-Click" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTpSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jst.jsp.core.jspsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTpixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jst.jsp.core.jspsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTpyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.m2e.jdt.ui.downloadSourcesContribution/org.eclipse.m2e.jdt.ui.downloadSourcesAction" commandName="label" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTqCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.m2e.jdt.ui.downloadSourcesContribution_38/org.eclipse.m2e.jdt.ui.downloadSourcesAction_38" commandName="label" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTqSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ui.texteditor.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Text Editor Bookmark Ruler Action" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTqixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ui.texteditor.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Text Editor Ruler Single-Click" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTqyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.css.core.csssource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTrCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.css.core.csssource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTrSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.dtd.core.dtdsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTrixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.dtd.core.dtdsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTryxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.html.core.htmlsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTsCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.html.core.htmlsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTsSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.chromium.debug.ui.editors.JsEditor.editorActions/org.eclipse.wst.jsdt.chromium.debug.ui.editor.ruler.doubleClickBreakpointAction" commandName="Not Used" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTsixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.debug.ui.togglebreakpoint/org.eclipse.wst.jsdt.debug.ui.RulerToggleBreakpoint" commandName="Toggle Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTsyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.internal.ui.CompilationUnitEditor.ruler.actions/org.eclipse.wst.jsdt.internal.ui.javaeditor.BookmarkRulerAction" commandName="JavaScript Editor Bookmark Ruler Action" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTtCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.internal.ui.CompilationUnitEditor.ruler.actions/org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaSelectRulerAction" commandName="JavaScript Editor Ruler Single-Click" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTtSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.internal.ui.ClassFileEditor.ruler.actions/org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaSelectRulerAction" commandName="JavaScript Editor Ruler Single-Click" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTtixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.internal.ui.PropertiesFileEditor.ruler.actions/org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.BookmarkRulerAction" commandName="JavaScript Editor Bookmark Ruler Action" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTtyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.jsdt.internal.ui.PropertiesFileEditor.ruler.actions/org.eclipse.wst.jsdt.internal.ui.propertiesfileeditor.SelectRulerAction" commandName="JavaScript Editor Ruler Single-Click" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTuCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.json.core.jsonsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="%AddBookmark.label" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTuSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.json.core.jsonsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="%SelectRuler.label" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTuixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ui.articles.action.contribution.editor/org.eclipse.wst.wsdl.ui.actions.ReloadDependenciesActionDelegate" commandName="Reload Dependencies" description="Reload Dependencies" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTuyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.wsdl.wsdlsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTvCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.wsdl.wsdlsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTvSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.core.runtime.xml.source.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTvixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.core.runtime.xml.source.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTvyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.xsd.core.xsdsource.ruler.actions/org.eclipse.ui.texteditor.BookmarkRulerAction" commandName="Add Bookmark..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTwCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.wst.xsd.core.xsdsource.ruler.actions/org.eclipse.ui.texteditor.SelectRulerAction" commandName="Select Ruler" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTwSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.PulldownActions/org.eclipse.debug.ui.debugview.pulldown.ViewManagementAction" commandName="View Management..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTwixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.debugview.toolbar/org.eclipse.debug.ui.debugview.toolbar.removeAllTerminated" commandName="Remove All Terminated" description="Remove All Terminated Launches" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTwyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.removeAll" commandName="Remove All" description="Remove All Breakpoints" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTxCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.linkWithDebugView" commandName="Link with Debug View" description="Link with Debug View" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTxSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.workingSets" commandName="Working Sets..." description="Manage Working Sets" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTxixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.clearDefaultBreakpointGroup" commandName="Deselect Default Working Set" description="Deselect Default Working Set" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTxyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.setDefaultBreakpointGroup" commandName="Select Default Working Set..." description="Select Default Working Set" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTyCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.sortByAction" commandName="Sort By" description="Sort By" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTySxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.breakpointsview.toolbar/org.eclipse.debug.ui.breakpointsView.toolbar.groupByAction" commandName="Group By" description="Show" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTyixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.expressionsView.toolbar/org.eclipse.debug.ui.expresssionsView.toolbar.removeAll" commandName="Remove All" description="Remove All Expressions" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTyyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.expressionsView.toolbar/org.eclipse.debug.ui.expresssionsView.toolbar.AddWatchExpression" commandName="Add Watch Expression..." description="Create a new watch expression" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTzCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.PinMemoryBlockAction" commandName="Pin Memory Monitor" description="Pin Memory Monitor" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTzSxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.NewMemoryViewAction" commandName="New Memory View" description="New Memory View" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTzixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.togglemonitors" commandName="Toggle Memory Monitors Pane" description="Toggle Memory Monitors Pane" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBTzyxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.linkrenderingpanes" commandName="Link Memory Rendering Panes" description="Link Memory Rendering Panes" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT0CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.tablerendering.preferencesaction" commandName="Table Renderings Preferences..." description="&amp;Table Renderings Preferences..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT0SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.togglesplitpane" commandName="Toggle Split Pane" description="Toggle Split Pane" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT0ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.switchMemoryBlock" commandName="Switch Memory Monitor" description="Switch Memory Monitor" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT0yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.debug.ui.memoryView.toolbar/org.eclipse.debug.ui.memoryViewPreferencesAction" commandName="Preferences..." description="&amp;Preferences..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT1CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.Preferences" commandName="Java Preferences..." description="Opens preferences for Java variables" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT1SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variablesViewActions.AllReferencesInView" commandName="Show References" description="Shows references to each object in the variables view as an array of objects." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT1ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowNullEntries" commandName="Show Null Array Entries" description="Show Null Array Entries" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT1yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT2CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowStatic" commandName="Show Static Variables" description="Show Static Variables" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT2SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.VariableViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowConstants" commandName="Show Constants" description="Show Constants" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT2ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.variableViewActions.Preferences" commandName="Java Preferences..." description="Opens preferences for Java variables" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT2yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.AllReferencesInView" commandName="Show References" description="Show &amp;References" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT3CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.variableViewActions.ShowNullEntries" commandName="Show Null Array Entries" description="Show Null Array Entries" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT3SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT3ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.ShowStatic" commandName="Show Static Variables" description="Show Static Variables" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT3yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.ExpressionViewActions/org.eclipse.jdt.debug.ui.expressionViewActions.ShowConstants" commandName="Show Constants" description="Show Constants" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT4CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.BreakpointViewActions/org.eclipse.jdt.debug.ui.actions.AddException" commandName="Add Java Exception Breakpoint" description="Add Java Exception Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT4SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.BreakpointViewActions/org.eclipse.jdt.debug.ui.breakpointViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT4ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowThreadGroups" commandName="Show Thread Groups" description="Show Thread Groups" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT4yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowQualified" commandName="Show Qualified Names" description="Show Qualified Names" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT5CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowSystemThreads" commandName="Show System Threads" description="Show System Threads" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT5SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.LaunchViewActions/org.eclipse.jdt.debug.ui.launchViewActions.ShowMonitorThreadInfo" commandName="Show Monitors" description="Show the Thread &amp; Monitor Information" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT5ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Watch" commandName="Watch" description="Create a Watch Expression from the Selected Text" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT5yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Execute" commandName="Execute" description="Execute the Selected Text" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT6CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Display" commandName="Display" description="Display Result of Evaluating Selected Text" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT6SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.jdt.debug.ui.DisplayViewActions/org.eclipse.jdt.debug.ui.displayViewToolbar.Inspect" commandName="Inspect" description="Inspect Result of Evaluating Selected Text" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT6ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.context.ui.outline.contribution/org.eclipse.mylyn.context.ui.contentOutline.focus" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT6yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.java.ui.markers.breakpoints.contribution/org.eclipse.mylyn.java.ui.actions.focus.markers.breakpoints" commandName="Focus on Active Task" description="Focus on Active Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT7CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.ui.debug.view.contribution/org.eclipse.mylyn.ui.actions.FilterResourceNavigatorAction" commandName="Focus on Active Task (Experimental)" description="Focus on Active Task (Experimental)" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT7SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.ui.projectexplorer.filter/org.eclipse.mylyn.ide.ui.actions.focus.projectExplorer" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT7ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.ui.search.contribution/org.eclipse.mylyn.ide.ui.actions.focus.search.results" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT7yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.ui.resource.navigator.filter/org.eclipse.mylyn.ide.ui.actions.focus.resourceNavigator" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT8CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.problems.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.problems" commandName="Focus on Active Task" description="Focus on Active Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT8SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.markers.all.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.all" commandName="Focus on Active Task" description="Focus on Active Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT8ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.markers.tasks.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.tasks" commandName="Focus on Active Task" description="Focus on Active Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT8yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.markers.bookmarks.contribution/org.eclipse.mylyn.ide.ui.actions.focus.markers.bookmarks" commandName="Focus on Active Task" description="Focus on Active Task" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT9CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.java.explorer.contribution/org.eclipse.mylyn.java.actions.focus.packageExplorer" commandName="Focus on Active Task" description="Focus on Active Task (Alt+click to reveal filtered elements)" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT9SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.search.open" commandName="Search Repository..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT9ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.synchronize.changed" commandName="Synchronize Changed" description="Synchronize Changed" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT9yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.tasks.restore" commandName="Restore Tasks from History..." category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT-CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.tasks.ui.open.repositories.view" commandName="Show Task Repositories View" description="Show Task Repositories View" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT-SxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.doc.legend.show.action" commandName="Show UI Legend" description="Show Tasks UI Legend" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT-ixQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.mylyn.tasks.ui.actions.view/org.eclipse.mylyn.context.ui.actions.tasklist.focus" commandName="Focus on Workweek" description="Focus on Workweek" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT-yxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.pde.ui.logViewActions/org.eclipse.jdt.debug.ui.LogViewActions.showStackTrace" commandName="Show Stack Trace in Console View" description="Show Stack Trace in Console View" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT_CxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.rse.ui.view.systemView.toolbar/org.eclipse.rse.ui.view.systemView.toolbar.linkWithSystemView" commandName="Link with Editor" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT_SxQEeymybzsuL9nBA" elementId="AUTOGEN:::breakpointsViewActions/org.eclipse.wst.jsdt.debug.ui.add.scriptload.breakpoint" commandName="Add Script Load Breakpoint" description="Add Script Load Breakpoint" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT_ixQEeymybzsuL9nBA" elementId="AUTOGEN:::breakpointsViewActions/org.eclipse.jdt.debug.ui.breakpointViewActions.ShowQualified" commandName="Suspend For All Script Loads" description="Suspends when any script is loaded" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBT_yxQEeymybzsuL9nBA" elementId="AUTOGEN:::breakpointsViewActions/org.eclipse.wst.jsdt.debug.ui.suspend.on.exceptions" commandName="Suspend On JavaScript Exceptions" description="Suspend on all JavaScript exceptions" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUACxQEeymybzsuL9nBA" elementId="AUTOGEN:::debugViewActions/org.eclipse.wst.jsdt.debug.ui.show.all.scripts" commandName="Show All Scripts" description="Shows or hides all scripts loaded in the visible targets" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUASxQEeymybzsuL9nBA" elementId="AUTOGEN:::variableViewActions/org.eclipse.wst.jsdt.debug.ui.variableview.show.functions" commandName="Show function variables" description="Show or hide function variables" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUAixQEeymybzsuL9nBA" elementId="AUTOGEN:::variableViewActions/org.eclipse.wst.jsdt.debug.ui.variableview.show.this" commandName="Show 'this' variable" description="Show or hide the this variable" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUAyxQEeymybzsuL9nBA" elementId="AUTOGEN:::variableViewActions/org.eclipse.wst.jsdt.debug.ui.variableview.show.prototypes" commandName="Show proto variables" description="Show or hide proto variables" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUBCxQEeymybzsuL9nBA" elementId="AUTOGEN:::org.eclipse.ui.articles.action.contribution.view/org.eclipse.wst.wsi.ui.internal.actions.actionDelegates.ValidateWSIProfileActionDelegate" commandName="WS-I Profile Validator" description="Validate WS-I Message Log File" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUBSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.ShowTestResults" commandName="Show Test Results" category="_AHBUXCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUBixQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.snipmatch.rcp.commands.completion" commandName="Snipmatch Snippet Completion" description="Open a dialog to search for and insert code snippets" category="_AHBUWixQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUByxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.snipmatch.rcp.commands.createSnippet" commandName="Create Snippet..." description="Creates a new Snipmatch code snippet from the current editor&#x2019;s text selection" category="_AHBUKCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUCCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.ShowBuildOutput" commandName="Show Build Output" category="_AHBUXCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUCSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElementWithBrowser" commandName="Open Build with Browser" category="_AHBUXCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHBUCixQEeymybzsuL9nBA" elementId="element" name="Element"/>
+  </commands>
+  <commands xmi:id="_AHBUCyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElement" commandName="Open Build Element" category="_AHBUXCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHBUDCxQEeymybzsuL9nBA" elementId="element" name="Element"/>
+  </commands>
+  <commands xmi:id="_AHBUDSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.NewTaskFromBuild" commandName="New Task From Build" category="_AHBUXCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUDixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.NewTaskFromTest" commandName="New Task From Test" category="_AHBUXCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUDyxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.ShowBuildOutput.url" commandName="Show Build Output" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUECxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.ShowTestResults.url" commandName="Show Test Results" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUESxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.AbortBuild" commandName="Abort Build" category="_AHBUXCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUEixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.commands.CopyDetails" commandName="Copy Details" category="_AHBUXCxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHBUEyxQEeymybzsuL9nBA" elementId="kind" name="Kind"/>
+    <parameters xmi:id="_AHBUFCxQEeymybzsuL9nBA" elementId="element" name="Element"/>
+  </commands>
+  <commands xmi:id="_AHBUFSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.command.RunBuild" commandName="Run Build" category="_AHBUXCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUFixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.commands.OpenBuildElementWithBrowser.url" commandName="Open Build with Browser" category="_AHBUQCxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUFyxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.news.rcp.command.pollNewsFeeds" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" commandName="%command.name.pollNewsFeeds" category="_AHBUXSxQEeymybzsuL9nBA"/>
+  <commands xmi:id="_AHBUGCxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.news.rcp.command.readNewsItems" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" commandName="%command.name.readNewsItems" category="_AHBUXSxQEeymybzsuL9nBA">
+    <parameters xmi:id="_AHBUGSxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.news.rcp.commandParameter.newsItems" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" name="News Items" typeId="org.eclipse.recommenders.news.rcp.commandParameterType.newsItems" optional="false"/>
+    <parameters xmi:id="_AHBUGixQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.news.rcp.commandParameter.openBrowser" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" name="Open Browser" typeId="org.eclipse.recommenders.news.rcp.commandParameterType.boolean"/>
+  </commands>
+  <addons xmi:id="_AHBUGyxQEeymybzsuL9nBA" elementId="org.eclipse.e4.core.commands.service" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+  <addons xmi:id="_AHBUHCxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.contexts.service" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+  <addons xmi:id="_AHBUHSxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.bindings.service" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
+  <addons xmi:id="_AHBUHixQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.workbench.commands.model" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+  <addons xmi:id="_AHBUHyxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+  <addons xmi:id="_AHBUICxQEeymybzsuL9nBA" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
+  <addons xmi:id="_AHBUISxQEeymybzsuL9nBA" elementId="Cleanup Addon" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.cleanupaddon.CleanupAddon"/>
+  <addons xmi:id="_AHBUIixQEeymybzsuL9nBA" elementId="DnD Addon" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.dndaddon.DnDAddon"/>
+  <addons xmi:id="_AHBUIyxQEeymybzsuL9nBA" elementId="MinMax Addon" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon">
+    <persistedState key="org.eclipse.jst.j2ee.J2EEPerspective.&lt;Java EE>" value=""/>
+  </addons>
+  <addons xmi:id="_AHBUJCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.workbench.addon.0" contributorURI="platform:/plugin/org.eclipse.platform" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+  <addons xmi:id="_AHBUJSxQEeymybzsuL9nBA" elementId="SplitterAddon" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.addons.swt/org.eclipse.e4.ui.workbench.addons.splitteraddon.SplitterAddon"/>
+  <addons xmi:id="_AHBUJixQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.addon.0" contributorURI="platform:/plugin/org.eclipse.ui.ide" contributionURI="bundleclass://org.eclipse.ui.ide/org.eclipse.ui.internal.ide.addons.SaveAllDirtyPartsAddon"/>
+  <addons xmi:id="_AHBUJyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.application.addon.0" contributorURI="platform:/plugin/org.eclipse.ui.ide.application" contributionURI="bundleclass://org.eclipse.ui.ide.application/org.eclipse.ui.internal.ide.application.addons.ModelCleanupAddon"/>
+  <categories xmi:id="_AHBUKCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.edit" name="Edit"/>
+  <categories xmi:id="_AHBUKSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.ui.editor.category" name="WikiText Markup Editing Commands" description="commands for editing lightweight markup"/>
+  <categories xmi:id="_AHBUKixQEeymybzsuL9nBA" elementId="org.eclipse.buildship.ui.project" name="Buildship" description="Contains the Buildship specific commands"/>
+  <categories xmi:id="_AHBUKyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.textEditor" name="Text Editing" description="Text Editing Commands"/>
+  <categories xmi:id="_AHBULCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.context.ui.commands" name="Focused UI" description="Task-Focused Interface"/>
+  <categories xmi:id="_AHBULSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.category.source" name="Source" description="JavaScript Source Actions"/>
+  <categories xmi:id="_AHBULixQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.commands" name="Task Repositories"/>
+  <categories xmi:id="_AHBULyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.server.ui" name="Server" description="Server"/>
+  <categories xmi:id="_AHBUMCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.wikitext.context.ui.commands" name="Mylyn WikiText" description="Commands used for Mylyn WikiText"/>
+  <categories xmi:id="_AHBUMSxQEeymybzsuL9nBA" elementId="org.eclipse.eclemma.ui" name="EclEmma Code Coverage"/>
+  <categories xmi:id="_AHBUMixQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.file" name="File"/>
+  <categories xmi:id="_AHBUMyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.window" name="Window"/>
+  <categories xmi:id="_AHBUNCxQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.result.category" name="SQL Results View"/>
+  <categories xmi:id="_AHBUNSxQEeymybzsuL9nBA" elementId="org.eclipse.pde.genericeditor.extension.category.source" name="Target Definition Source" description="Target Definition Source Page actions"/>
+  <categories xmi:id="_AHBUNixQEeymybzsuL9nBA" elementId="org.eclipse.debug.ui.category.run" name="Run/Debug" description="Run/Debug command category"/>
+  <categories xmi:id="_AHBUNyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.dialogs" name="Dialogs" description="Commands for opening dialogs"/>
+  <categories xmi:id="_AHBUOCxQEeymybzsuL9nBA" elementId="org.eclipse.oomph" name="Oomph"/>
+  <categories xmi:id="_AHBUOSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.chromium.debug.js.category" name="Chrome / Chromium"/>
+  <categories xmi:id="_AHBUOixQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.jpaMetadataConversionCommands" name="JPA Metadata Conversion"/>
+  <categories xmi:id="_AHBUOyxQEeymybzsuL9nBA" elementId="org.eclipse.wst.xml.views.XPathView" name="XPath"/>
+  <categories xmi:id="_AHBUPCxQEeymybzsuL9nBA" elementId="org.eclipse.jpt.jpa.ui.jpaStructureViewCommands" name="JPA Structure View"/>
+  <categories xmi:id="_AHBUPSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.commons.repositories.ui.category.Team" name="Team"/>
+  <categories xmi:id="_AHBUPixQEeymybzsuL9nBA" elementId="org.eclipse.pde.ui.category.source" name="Manifest Editor Source" description="PDE Source Page actions"/>
+  <categories xmi:id="_AHBUPyxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.commands" name="Oomph"/>
+  <categories xmi:id="_AHBUQCxQEeymybzsuL9nBA" elementId="org.eclipse.core.commands.categories.autogenerated" name="Uncategorized" description="Commands that were either auto-generated or have no category"/>
+  <categories xmi:id="_AHBUQSxQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.ui.category.refactoring" name="Refactor - JavaScript" description="JavaScript Refactoring Actions"/>
+  <categories xmi:id="_AHBUQixQEeymybzsuL9nBA" elementId="org.eclipse.team.ui.category.team" name="Team" description="Actions that apply when working with a Team"/>
+  <categories xmi:id="_AHBUQyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.views" name="Views" description="Commands for opening views"/>
+  <categories xmi:id="_AHBURCxQEeymybzsuL9nBA" elementId="org.eclipse.jst.pagedesigner.pagelayout" name="Web Page Editor Layout"/>
+  <categories xmi:id="_AHBURSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.tasks.ui.category.editor" name="Task Editor"/>
+  <categories xmi:id="_AHBURixQEeymybzsuL9nBA" elementId="org.eclipse.ui.ide.markerContents" name="Contents" description="The category for menu contents"/>
+  <categories xmi:id="_AHBURyxQEeymybzsuL9nBA" elementId="org.eclipse.oomph.setup.category" name="Oomph Setup"/>
+  <categories xmi:id="_AHBUSCxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.navigate" name="Navigate"/>
+  <categories xmi:id="_AHBUSSxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.java.ui.commands" name="Java Context" description="Java Task-Focused Interface Commands"/>
+  <categories xmi:id="_AHBUSixQEeymybzsuL9nBA" elementId="org.eclipse.wst.jsdt.debug.ui.category" name="JavaScript Debug" description="Tooling for debugging JavaScript"/>
+  <categories xmi:id="_AHBUSyxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.view.ui.commands.category" name="Terminal Commands"/>
+  <categories xmi:id="_AHBUTCxQEeymybzsuL9nBA" elementId="org.eclipse.compare.ui.category.compare" name="Compare" description="Compare command category"/>
+  <categories xmi:id="_AHBUTSxQEeymybzsuL9nBA" elementId="org.eclipse.rse.ui.commands.category" name="Remote Systems"/>
+  <categories xmi:id="_AHBUTixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.enablement.sybase.asa.schemaobjecteditor.examples.tableschemaedtor.10x" name="ASA 9.x table schema editor"/>
+  <categories xmi:id="_AHBUTyxQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.category.refactoring" name="Refactor - Java" description="Java Refactoring Actions"/>
+  <categories xmi:id="_AHBUUCxQEeymybzsuL9nBA" elementId="org.eclipse.emf.codegen.ecore.ui.Commands" name="EMF Code Generation" description="Commands for the EMF code generation tools"/>
+  <categories xmi:id="_AHBUUSxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.help" name="Help"/>
+  <categories xmi:id="_AHBUUixQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.project" name="Project"/>
+  <categories xmi:id="_AHBUUyxQEeymybzsuL9nBA" elementId="org.eclipse.tm.terminal.category1" name="Terminal view commands" description="Terminal view commands"/>
+  <categories xmi:id="_AHBUVCxQEeymybzsuL9nBA" elementId="org.eclipse.search.ui.category.search" name="Search" description="Search command category"/>
+  <categories xmi:id="_AHBUVSxQEeymybzsuL9nBA" elementId="org.eclipse.egit.ui.commandCategory" name="Git"/>
+  <categories xmi:id="_AHBUVixQEeymybzsuL9nBA" elementId="org.eclipse.datatools.sqltools.sqleditor.category" name="Database Tools" description="Database Development tools"/>
+  <categories xmi:id="_AHBUVyxQEeymybzsuL9nBA" elementId="org.eclipse.ui.category.perspectives" name="Perspectives" description="Commands for opening perspectives"/>
+  <categories xmi:id="_AHBUWCxQEeymybzsuL9nBA" elementId="org.eclipse.ltk.ui.category.refactoring" name="Refactoring"/>
+  <categories xmi:id="_AHBUWSxQEeymybzsuL9nBA" elementId="org.eclipse.gef.category.view" name="View" description="View"/>
+  <categories xmi:id="_AHBUWixQEeymybzsuL9nBA" elementId="org.eclipse.jdt.ui.category.source" name="Source" description="Java Source Actions"/>
+  <categories xmi:id="_AHBUWyxQEeymybzsuL9nBA" elementId="org.eclipse.pde.runtime.spy.commands.category" name="Spy"/>
+  <categories xmi:id="_AHBUXCxQEeymybzsuL9nBA" elementId="org.eclipse.mylyn.builds.ui.category.Commands" name="Builds"/>
+  <categories xmi:id="_AHBUXSxQEeymybzsuL9nBA" elementId="org.eclipse.recommenders.news.rcp.category.news" contributorURI="platform:/plugin/org.eclipse.recommenders.news.rcp" name="%category.name.news" description="%category.description.news"/>
+</application:Application>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/dialog_settings.xml
new file mode 100644
index 0000000..5ca0b77
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/dialog_settings.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Add_32_Dependency.hist b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Add_32_Dependency.hist
new file mode 100644
index 0000000..2193315
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Add_32_Dependency.hist
@@ -0,0 +1,4 @@
+#Wed Apr 22 16:57:05 CEST 2020
+__DEFAULT__=false
+org.eclipse.help.ui.localSearch.master=true
+expression=Add Dependency
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Default.pref b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Default.pref
new file mode 100644
index 0000000..7ff57a6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Default.pref
@@ -0,0 +1,2 @@
+#Tue Jun 16 12:17:27 CEST 2020
+__DEFAULT__=true
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Link_32_Source.hist b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Link_32_Source.hist
new file mode 100644
index 0000000..8d4b194
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Link_32_Source.hist
@@ -0,0 +1,4 @@
+#Tue May 05 09:29:39 CEST 2020
+__DEFAULT__=false
+org.eclipse.help.ui.localSearch.master=true
+expression=Link Source
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Select_32_Directive_32_Type.hist b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Select_32_Directive_32_Type.hist
new file mode 100644
index 0000000..b660685
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Select_32_Directive_32_Type.hist
@@ -0,0 +1,4 @@
+#Tue Jun 16 12:17:27 CEST 2020
+__DEFAULT__=false
+org.eclipse.help.ui.localSearch.master=true
+expression=Select Directive Type
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Tomcat_32_Server.hist b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Tomcat_32_Server.hist
new file mode 100644
index 0000000..822231a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/Tomcat_32_Server.hist
@@ -0,0 +1,6 @@
+#Wed Nov 20 16:29:08 CET 2019
+__DEFAULT__=false
+org.eclipse.sdk.Eclipse.master=true
+org.eclipse.sdk.Google.master=true
+org.eclipse.help.ui.localSearch.master=true
+expression=Tomcat Server
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/package.hist b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/package.hist
new file mode 100644
index 0000000..9137762
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.help.ui/scope_sets/package.hist
@@ -0,0 +1,4 @@
+#Wed Apr 22 18:03:08 CEST 2020
+__DEFAULT__=false
+org.eclipse.help.ui.localSearch.master=true
+expression=package
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1078168141.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1078168141.index
new file mode 100644
index 0000000..c5770d4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1078168141.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1085038366.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1085038366.index
new file mode 100644
index 0000000..c0209f1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1085038366.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1096859570.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1096859570.index
new file mode 100644
index 0000000..bcca1be
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1096859570.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1128836132.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1128836132.index
new file mode 100644
index 0000000..91afc1c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1128836132.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1227108308.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1227108308.index
new file mode 100644
index 0000000..4129e58
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1227108308.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1259518237.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1259518237.index
new file mode 100644
index 0000000..91e2412
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1259518237.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1316921435.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1316921435.index
new file mode 100644
index 0000000..88323c6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1316921435.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/131997055.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/131997055.index
new file mode 100644
index 0000000..9e69819
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/131997055.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1395948900.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1395948900.index
new file mode 100644
index 0000000..ccb2a70
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1395948900.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1487128025.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1487128025.index
new file mode 100644
index 0000000..d3ba478
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1487128025.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1500600861.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1500600861.index
new file mode 100644
index 0000000..91afc1c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1500600861.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1505270296.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1505270296.index
new file mode 100644
index 0000000..5141061
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1505270296.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1591403808.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1591403808.index
new file mode 100644
index 0000000..8224d48
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1591403808.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1747682814.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1747682814.index
new file mode 100644
index 0000000..98e5092
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1747682814.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1897954789.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1897954789.index
new file mode 100644
index 0000000..0e4631c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1897954789.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1909880518.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1909880518.index
new file mode 100644
index 0000000..60989e0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1909880518.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1958574525.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1958574525.index
new file mode 100644
index 0000000..6e1d043
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1958574525.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1983060498.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1983060498.index
new file mode 100644
index 0000000..db04520
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/1983060498.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2002458221.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2002458221.index
new file mode 100644
index 0000000..70965d8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2002458221.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2027763745.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2027763745.index
new file mode 100644
index 0000000..ca53310
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2027763745.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2050270669.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2050270669.index
new file mode 100644
index 0000000..4fc2254
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2050270669.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/206889338.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/206889338.index
new file mode 100644
index 0000000..eefcf4b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/206889338.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2244387057.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2244387057.index
new file mode 100644
index 0000000..e4a0108
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2244387057.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/227714418.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/227714418.index
new file mode 100644
index 0000000..23d5909
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/227714418.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2350488526.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2350488526.index
new file mode 100644
index 0000000..1f17fe5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2350488526.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2388212571.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2388212571.index
new file mode 100644
index 0000000..a842c17
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2388212571.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/240699401.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/240699401.index
new file mode 100644
index 0000000..dfd3473
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/240699401.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2642649259.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2642649259.index
new file mode 100644
index 0000000..037067e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2642649259.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2656952389.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2656952389.index
new file mode 100644
index 0000000..3ee72bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2656952389.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2706799161.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2706799161.index
new file mode 100644
index 0000000..32bfb67
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2706799161.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2731351103.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2731351103.index
new file mode 100644
index 0000000..316ff91
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2731351103.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/28063350.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/28063350.index
new file mode 100644
index 0000000..af9653b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/28063350.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2815013388.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2815013388.index
new file mode 100644
index 0000000..c5269d2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2815013388.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2874849156.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2874849156.index
new file mode 100644
index 0000000..2a464ab
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2874849156.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2943851965.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2943851965.index
new file mode 100644
index 0000000..d707e66
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2943851965.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2958935316.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2958935316.index
new file mode 100644
index 0000000..502c46f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/2958935316.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/307898623.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/307898623.index
new file mode 100644
index 0000000..ea17f09
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/307898623.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3086576205.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3086576205.index
new file mode 100644
index 0000000..4d3457e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3086576205.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3134213506.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3134213506.index
new file mode 100644
index 0000000..8a333ae
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3134213506.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3140701700.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3140701700.index
new file mode 100644
index 0000000..2f149c2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3140701700.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3149747983.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3149747983.index
new file mode 100644
index 0000000..0be248b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3149747983.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3152739339.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3152739339.index
new file mode 100644
index 0000000..32d1b50
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3152739339.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3223192768.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3223192768.index
new file mode 100644
index 0000000..484daaf
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3223192768.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3251769273.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3251769273.index
new file mode 100644
index 0000000..e3b59b4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3251769273.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3344360607.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3344360607.index
new file mode 100644
index 0000000..6a3ba7a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3344360607.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/341263954.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/341263954.index
new file mode 100644
index 0000000..f551ad2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/341263954.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3416338475.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3416338475.index
new file mode 100644
index 0000000..6578a25
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3416338475.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3449222033.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3449222033.index
new file mode 100644
index 0000000..8f292f6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3449222033.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3528865137.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3528865137.index
new file mode 100644
index 0000000..7aada50
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3528865137.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3534146404.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3534146404.index
new file mode 100644
index 0000000..0209ec7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3534146404.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3587928731.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3587928731.index
new file mode 100644
index 0000000..3ef69a8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3587928731.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3609304423.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3609304423.index
new file mode 100644
index 0000000..fe99a73
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3609304423.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3737314672.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3737314672.index
new file mode 100644
index 0000000..7ebfe7f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3737314672.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3845045822.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3845045822.index
new file mode 100644
index 0000000..d1eb0b6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3845045822.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3900397539.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3900397539.index
new file mode 100644
index 0000000..2af62f6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3900397539.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3917347957.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3917347957.index
new file mode 100644
index 0000000..6f29b63
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3917347957.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3946058474.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3946058474.index
new file mode 100644
index 0000000..38bf081
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/3946058474.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/413643578.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/413643578.index
new file mode 100644
index 0000000..0a77d70
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/413643578.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/466515488.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/466515488.index
new file mode 100644
index 0000000..66a3425
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/466515488.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/487579093.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/487579093.index
new file mode 100644
index 0000000..9087f89
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/487579093.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/500797501.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/500797501.index
new file mode 100644
index 0000000..e69ef1a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/500797501.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/516711020.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/516711020.index
new file mode 100644
index 0000000..9515e0f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/516711020.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/6955841.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/6955841.index
new file mode 100644
index 0000000..1281206
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/6955841.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/823963259.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/823963259.index
new file mode 100644
index 0000000..16450af
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/823963259.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/863460643.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/863460643.index
new file mode 100644
index 0000000..d5fe5ed
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/863460643.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/904012179.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/904012179.index
new file mode 100644
index 0000000..91f7ab0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/904012179.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/908566163.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/908566163.index
new file mode 100644
index 0000000..8608fae
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/908566163.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/946554455.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/946554455.index
new file mode 100644
index 0000000..82ba9d6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/946554455.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/981951424.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/981951424.index
new file mode 100644
index 0000000..de39799
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/981951424.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
new file mode 100644
index 0000000..b71f36c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
new file mode 100644
index 0000000..257af28
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
new file mode 100644
index 0000000..d44c4dc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/index.db b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/index.db
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/index.db
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt
new file mode 100644
index 0000000..cfc6fb9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt
@@ -0,0 +1 @@
+INDEX VERSION 1.131
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
new file mode 100644
index 0000000..8586397
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
@@ -0,0 +1 @@
+java
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
new file mode 100644
index 0000000..dea28d8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/participantsIndexNames.txt b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/participantsIndexNames.txt
new file mode 100644
index 0000000..77bcf27
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/participantsIndexNames.txt
@@ -0,0 +1,5 @@
+INDEX VERSION 1.131
+F:\Daten\wsp-KorAP-Services\.metadata\.plugins\org.eclipse.jst.jsp.core\jspsearch\2514761369.index
+\glemm\src\main\resources
+F:\Daten\wsp-KorAP-Services\.metadata\.plugins\org.eclipse.jst.jsp.core\jspsearch\245427358.index
+\GlemmServices\src\main\resources
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
new file mode 100644
index 0000000..a5280fd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
@@ -0,0 +1,70 @@
+INDEX VERSION 1.131+C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services\.metadata\.plugins\org.eclipse.jdt.core
+3534146404.index
+3149747983.index
+28063350.index
+3344360607.index
+2731351103.index
+1316921435.index
+1747682814.index
+1909880518.index
+3946058474.index
+904012179.index
+6955841.index
+131997055.index
+1227108308.index
+3223192768.index
+1500600861.index
+2958935316.index
+2656952389.index
+2244387057.index
+1395948900.index
+2874849156.index
+3587928731.index
+2388212571.index
+3845045822.index
+307898623.index
+1078168141.index
+2350488526.index
+946554455.index
+2943851965.index
+3917347957.index
+863460643.index
+1096859570.index
+3737314672.index
+1958574525.index
+3609304423.index
+3251769273.index
+2815013388.index
+3140701700.index
+3449222033.index
+240699401.index
+1897954789.index
+466515488.index
+3134213506.index
+823963259.index
+3152739339.index
+1591403808.index
+413643578.index
+341263954.index
+1983060498.index
+1128836132.index
+981951424.index
+206889338.index
+3086576205.index
+1085038366.index
+516711020.index
+3416338475.index
+2050270669.index
+1259518237.index
+500797501.index
+1505270296.index
+1487128025.index
+3900397539.index
+2706799161.index
+2642649259.index
+487579093.index
+227714418.index
+908566163.index
+3528865137.index
+2027763745.index
+2002458221.index
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
new file mode 100644
index 0000000..4c94fe9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml
new file mode 100644
index 0000000..0e71149
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<item value="82" key="org.eclipse.jdt.debug.ui.jre_preference_page_context.columnWidth2"/>
+	<item value="1" key="org.eclipse.jdt.debug.ui.jre_preference_page_context.sortColumn"/>
+	<item value="188" key="org.eclipse.jdt.debug.ui.jre_preference_page_context.columnWidth1"/>
+	<item value="115" key="org.eclipse.jdt.debug.ui.jre_preference_page_context.columnWidth0"/>
+	<section name="conditionHistory">
+	</section>
+	<section name="org.eclipse.jdt.debug.ui.MAIN_METHOD_SELECTION_DIALOG">
+		<item value="true" key="ShowStatusLine"/>
+		<item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0D;&#x0A;&lt;History&gt;&#x0D;&#x0A;&lt;historyRootNode&gt;&#x0D;&#x0A;&lt;infoNode&gt;=Tests/src&amp;lt;test{TestJson.java[TestJson&lt;/infoNode&gt;&#x0D;&#x0A;&lt;/historyRootNode&gt;&#x0D;&#x0A;&lt;/History&gt;" key="History"/>
+		<section name="DialogBoundsSettings">
+			<item value="600" key="DIALOG_WIDTH"/>
+			<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
+			<item value="500" key="DIALOG_HEIGHT"/>
+			<item value="668" key="DIALOG_X_ORIGIN"/>
+			<item value="195" key="DIALOG_Y_ORIGIN"/>
+		</section>
+	</section>
+	<section name="org.eclipse.jdt.internal.debug.ui.ExpressionInformationControlCreator$ExpressionInformationControl">
+		<item value="500" key="SashWeightTree"/>
+		<item value="500" key="SashWeightDetails"/>
+		<item value="614" key="WIDTH"/>
+		<item value="194" key="HEIGHT"/>
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
new file mode 100644
index 0000000..a34fe36
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<dirs>
+<entry loc="C:\Program Files (x86)\Java\jdk1.8.0_73" stamp="1457545672347"/>
+<entry loc="C:\Program Files\Java\jdk1.8.0_45" stamp="1431524955251"/>
+<entry loc="C:\Program Files\Java\jdk1.8.0_231" stamp="1585217328566"/>
+<entry loc="C:\Program Files\Java\jre1.8.0_73" stamp="1455870690050"/>
+</dirs>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
new file mode 100644
index 0000000..0834fde
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<libraryInfos>
+<libraryInfo home="C:\Program Files (x86)\Java\jdk1.8.0_73" version="1.8.0_73">
+<bootpath>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\resources.jar"/>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\rt.jar"/>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\sunrsasign.jar"/>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\jsse.jar"/>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\jce.jar"/>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\charsets.jar"/>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\jfr.jar"/>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\ext"/>
+<entry path="C:\Windows\Sun\Java\lib\ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="C:\Program Files (x86)\Java\jdk1.8.0_73\jre\lib\endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+<libraryInfo home="C:\Program Files\Java\jdk1.8.0_45" version="1.8.0_45">
+<bootpath>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\resources.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\rt.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\sunrsasign.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\jsse.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\jce.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\charsets.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\jfr.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\ext"/>
+<entry path="C:\Windows\Sun\Java\lib\ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="C:\Program Files\Java\jdk1.8.0_45\jre\lib\endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+<libraryInfo home="C:\Program Files\Java\jdk1.8.0_231" version="1.8.0_231">
+<bootpath>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\resources.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\rt.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\sunrsasign.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\jsse.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\jce.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\charsets.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\jfr.jar"/>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext"/>
+<entry path="C:\WINDOWS\Sun\Java\lib\ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="C:\Program Files\Java\jdk1.8.0_231\jre\lib\endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+<libraryInfo home="C:\Program Files\Java\jre1.8.0_73" version="1.8.0_73">
+<bootpath>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\resources.jar"/>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\rt.jar"/>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\sunrsasign.jar"/>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\jsse.jar"/>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\jce.jar"/>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\charsets.jar"/>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\jfr.jar"/>
+<entry path="C:\Program Files\Java\jre1.8.0_73\classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\ext"/>
+<entry path="C:\Windows\Sun\Java\lib\ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="C:\Program Files\Java\jre1.8.0_73\lib\endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+</libraryInfos>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
new file mode 100644
index 0000000..a4ee3cb
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<typeInfoHistroy/>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
new file mode 100644
index 0000000..b8a9906
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<qualifiedTypeNameHistroy>
+<fullyQualifiedTypeName name="java.io.BufferedInputStream"/>
+<fullyQualifiedTypeName name="java.io.FileReader"/>
+<fullyQualifiedTypeName name="java.sql.Connection"/>
+<fullyQualifiedTypeName name="java.sql.DriverManager"/>
+<fullyQualifiedTypeName name="java.sql.Statement"/>
+<fullyQualifiedTypeName name="java.sql.ResultSet"/>
+<fullyQualifiedTypeName name="javax.ws.rs.QueryParam"/>
+<fullyQualifiedTypeName name="javax.ws.rs.DefaultValue"/>
+<fullyQualifiedTypeName name="java.sql.PreparedStatement"/>
+<fullyQualifiedTypeName name="java.time.LocalDateTime"/>
+<fullyQualifiedTypeName name="java.util.Locale"/>
+<fullyQualifiedTypeName name="javax.xml.ws.Response"/>
+<fullyQualifiedTypeName name="javax.ws.rs.core.Response"/>
+<fullyQualifiedTypeName name="javax.ws.rs.core.MediaType"/>
+<fullyQualifiedTypeName name="javax.xml.bind.annotation.XmlType"/>
+<fullyQualifiedTypeName name="javax.xml.bind.annotation.XmlAccessorType"/>
+<fullyQualifiedTypeName name="javax.servlet.http.HttpServletRequest"/>
+<fullyQualifiedTypeName name="java.util.Enumeration"/>
+<fullyQualifiedTypeName name="javax.servlet.ServletInputStream"/>
+<fullyQualifiedTypeName name="com.fasterxml.jackson.core.JsonParser"/>
+<fullyQualifiedTypeName name="com.fasterxml.jackson.core.JsonToken"/>
+<fullyQualifiedTypeName name="com.fasterxml.jackson.core.JsonFactory"/>
+<fullyQualifiedTypeName name="java.util.Iterator"/>
+<fullyQualifiedTypeName name="com.fasterxml.jackson.databind.node.ArrayNode"/>
+<fullyQualifiedTypeName name="com.fasterxml.jackson.databind.JsonNode"/>
+<fullyQualifiedTypeName name="java.io.File"/>
+<fullyQualifiedTypeName name="de.korap.json.JsonTraverse"/>
+<fullyQualifiedTypeName name="java.util.List"/>
+<fullyQualifiedTypeName name="java.util.ArrayList"/>
+<fullyQualifiedTypeName name="com.fasterxml.jackson.databind.node.ObjectNode"/>
+<fullyQualifiedTypeName name="de.korap.services.GlemmClient"/>
+<fullyQualifiedTypeName name="de.korap.services.glemm.client.GlemmClient"/>
+<fullyQualifiedTypeName name="de.korap.services.wformRewrite"/>
+<fullyQualifiedTypeName name="java.io.InputStream"/>
+<fullyQualifiedTypeName name="java.io.FileInputStream"/>
+<fullyQualifiedTypeName name="java.nio.file.Files"/>
+<fullyQualifiedTypeName name="java.nio.file.Path"/>
+<fullyQualifiedTypeName name="java.nio.file.Paths"/>
+<fullyQualifiedTypeName name="java.io.BufferedReader"/>
+<fullyQualifiedTypeName name="java.io.InputStreamReader"/>
+<fullyQualifiedTypeName name="com.fasterxml.jackson.databind.ObjectMapper"/>
+<fullyQualifiedTypeName name="de.korap.services.LemmaResponse"/>
+<fullyQualifiedTypeName name="java.nio.charset.Charset"/>
+<fullyQualifiedTypeName name="java.util.logging.Logger"/>
+<fullyQualifiedTypeName name="java.util.logging.Level"/>
+<fullyQualifiedTypeName name="java.util.HashMap"/>
+<fullyQualifiedTypeName name="de.korap.services.GlemmServices"/>
+<fullyQualifiedTypeName name="org.omg.IOP.Encoding"/>
+<fullyQualifiedTypeName name="javax.ws.rs.core.Response.Status"/>
+<fullyQualifiedTypeName name="java.util.Properties"/>
+<fullyQualifiedTypeName name="de.korap.services.utils.Utils"/>
+<fullyQualifiedTypeName name="java.io.PrintStream"/>
+<fullyQualifiedTypeName name="java.sql.DatabaseMetaData"/>
+<fullyQualifiedTypeName name="de.korap.services.GlemmDB"/>
+</qualifiedTypeNameHistroy>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
new file mode 100644
index 0000000..71a0d25
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<item value="JavaSE-1.8" key="org.eclipse.jdt.ui.last.selected.execution.enviroment"/>
+	<item value="3" key="TypeHierarchyViewPart.orientation"/>
+	<item value="false" key="TypeHierarchyViewPart.linkeditors"/>
+	<item value="2" key="CallHierarchyViewPart.field_mode"/>
+	<item value="2" key="TypeHierarchyViewPart.hierarchyview"/>
+	<item value="500" key="CallHierarchyViewPart.ratio1"/>
+	<item value="1" key="SearchScopeActionGroup.search_scope_type"/>
+	<item value="500" key="CallHierarchyViewPart.ratio3"/>
+	<item value="false" key="TypeHierarchyViewPart.qualifiednames"/>
+	<item value="0" key="CallHierarchyViewPart.call_mode"/>
+	<item value="C:\Users\Franck\.m2\repository\de\korap\json\JsonTraverse\0.1-SNAPSHOT" key="org.eclipse.jdt.ui.lastextjar"/>
+	<item value="filter_imports;" key="filters_last_used"/>
+	<item value="3" key="CallHierarchyViewPart.orientation"/>
+	<item value="C:\myIDS\Daten\KorAP\Services\GlemmServices\src" key="org.eclipse.jdt.ui.last.external.project"/>
+	<list key="SearchScopeActionGroup.working_set">
+	</list>
+	<section name="org.eclipse.ltk.ui.refactoring.settings">
+		<item value="false" key="updateQualifiedNames"/>
+		<item value="*" key="patterns"/>
+		<item value="false" key="updateSimilarElements"/>
+		<item value="1" key="updateSimilarElementsMatchStrategy"/>
+		<item value="false" key="updateTextualMatches"/>
+	</section>
+	<section name="ProblemSeveritiesConfigurationBlock">
+		<item value="false" key="expanded2"/>
+		<item value="false" key="expanded1"/>
+		<item value="false" key="expanded4"/>
+		<item value="false" key="expanded3"/>
+		<item value="false" key="expanded6"/>
+		<item value="false" key="expanded5"/>
+		<item value="false" key="expanded8"/>
+		<item value="false" key="expanded7"/>
+		<item value="true" key="expanded0"/>
+	</section>
+	<section name="SearchInDialog">
+		<item value="true" key="SearchInProjects"/>
+		<item value="true" key="SearchInAppLibs"/>
+		<item value="true" key="SearchInJRE"/>
+		<item value="true" key="SearchInSources"/>
+	</section>
+	<section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
+		<item value="2" key="layout"/>
+		<item value="true" key="group_libraries"/>
+		<item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0D;&#x0A;&lt;packageExplorer group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;Aggregate for window 1573558008367&quot;&gt;&#x0D;&#x0A;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;&gt;&#x0D;&#x0A;&lt;xmlDefinedFilters&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.buildship.ui.packageexplorer.filter.gradle.buildfolder&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.mylyn.java.ui.MembersFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.m2e.MavenModuleFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.buildship.ui.packageexplorer.filter.gradle.subProject&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.DeprecatedMembersFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;/xmlDefinedFilters&gt;&#x0D;&#x0A;&lt;/customFilters&gt;&#x0D;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>
+		<item value="1" key="rootMode"/>
+		<item value="false" key="linkWithEditor"/>
+	</section>
+	<section name="NewClassWizardPage">
+		<item value="false" key="create_constructor"/>
+		<item value="true" key="create_unimplemented"/>
+	</section>
+	<section name="OptionalMessageDialog.hide.">
+		<item value="true" key="org.eclipse.jdt.ui.typecomment.deprecated"/>
+	</section>
+	<section name="RefactoringWizard.preview">
+		<item value="600" key="width"/>
+		<item value="400" key="height"/>
+	</section>
+	<section name="CallHierarchySearchScope">
+	</section>
+	<section name="org.eclipse.jdt.internal.ui.wizards.buildpaths.NewVariableEntryDialog">
+		<item value="577" key="DIALOG_WIDTH"/>
+		<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
+		<item value="398" key="DIALOG_HEIGHT"/>
+		<item value="78" key="DIALOG_X_ORIGIN"/>
+		<item value="84" key="DIALOG_Y_ORIGIN"/>
+	</section>
+	<section name="JavaBuildConfigurationBlock">
+		<item value="false" key="expanded2"/>
+		<item value="false" key="expanded1"/>
+		<item value="true" key="expanded0"/>
+	</section>
+	<section name="BreadcrumbItemDropDown">
+	</section>
+	<section name="ClasspathContainerSelectionPage">
+		<item value="6" key="index"/>
+	</section>
+	<section name="BuildPathsPropertyPage">
+		<item value="1" key="pageIndex"/>
+	</section>
+	<section name="quick_assist_proposal_size">
+	</section>
+	<section name="NewPackageWizardPage">
+		<item value="false" key="create_package_info_java"/>
+	</section>
+	<section name="JavaSearchPage">
+		<item value="1" key="HISTORY_SIZE"/>
+		<item value="false" key="CASE_SENSITIVE"/>
+		<item value="15" key="INCLUDE_MASK"/>
+		<section name="HISTORY0">
+			<item value="false" key="isCaseSensitive"/>
+			<item value="" key="javaElement"/>
+			<item value="0" key="scope"/>
+			<item value="15" key="includeMask"/>
+			<item value="Glemm2" key="pattern"/>
+			<item value="2" key="limitTo"/>
+			<item value="0" key="matchLocations"/>
+			<item value="0" key="searchFor"/>
+			<list key="workingSets">
+			</list>
+		</section>
+	</section>
+	<section name="completion_proposal_size">
+		<item value="225" key="size.y"/>
+		<item value="463" key="size.x"/>
+	</section>
+	<section name="JavaElementSearchActions">
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee.ui/dialog_settings.xml
new file mode 100644
index 0000000..c9b8186
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee.ui/dialog_settings.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<list key="MRU_RUNTIME_STORE">
+		<item value="Apache Tomcat v9.0"/>
+		<item value="NULL_RUNTIME"/>
+		<item value="J2EE Runtime Library"/>
+	</list>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee.web/webLibrariesCache.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee.web/webLibrariesCache.index
new file mode 100644
index 0000000..a9cc6a4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee.web/webLibrariesCache.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee/earLibrariesCache.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee/earLibrariesCache.index
new file mode 100644
index 0000000..22fb023
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.j2ee/earLibrariesCache.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/close.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/close.gif
new file mode 100644
index 0000000..e792e28
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/close.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/list-bullet.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/list-bullet.gif
new file mode 100644
index 0000000..8c0cf4f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/list-bullet.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/logo-dark.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/logo-dark.gif
new file mode 100644
index 0000000..8f450e1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/logo-dark.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-deselected.gif
new file mode 100644
index 0000000..e0ec834
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-end-selected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-end-selected.gif
new file mode 100644
index 0000000..adc9eea
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-end-selected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-mid-selected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-mid-selected.gif
new file mode 100644
index 0000000..0db0c96
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-mid-selected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-start-selected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-start-selected.gif
new file mode 100644
index 0000000..72463ce
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-bot-start-selected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-deselected.gif
new file mode 100644
index 0000000..d7417e1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-join-deselected-to-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-join-deselected-to-deselected.gif
new file mode 100644
index 0000000..5416299
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-join-deselected-to-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-join-selected-to-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-join-selected-to-deselected.gif
new file mode 100644
index 0000000..29f33e0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-join-selected-to-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-selected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-selected.gif
new file mode 100644
index 0000000..d36b395
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-end-selected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-mid-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-mid-deselected.gif
new file mode 100644
index 0000000..2639558
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-mid-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-mid-selected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-mid-selected.gif
new file mode 100644
index 0000000..248de98
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-mid-selected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-deselected.gif
new file mode 100644
index 0000000..2c904c3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-deselected-to-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-deselected-to-deselected.gif
new file mode 100644
index 0000000..1ec2d3f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-deselected-to-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-selected-to-deselected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-selected-to-deselected.gif
new file mode 100644
index 0000000..1ec2d3f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-selected-to-deselected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-selected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-selected.gif
new file mode 100644
index 0000000..f8ebc72
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-join-selected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-selected.gif b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-selected.gif
new file mode 100644
index 0000000..f4a260b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/images/tab3-start-selected.gif
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/minimal.css b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/minimal.css
new file mode 100644
index 0000000..2bfe7cd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/minimal.css
@@ -0,0 +1,243 @@
+/* This CSS file generated on Thu Apr 02 15:47:44 PDT 2009 */
+.AFInstructionText,.AFFieldText,.af_outputText,.af_outputFormatted,.af_outputDocument,.af_inputChoice_content,.af_inputChoice_content-input,.af_inputText_content,.af_inputNumberSpinbox_content,.af_inputColor_content,.af_inputDate_content,.af_inputListOfValues_content,.af_selectManyCheckbox_content,.af_selectManyListbox_content,.af_selectOneChoice_content,.af_selectOneListbox_content,.af_selectOneRadio_content,.af_inputText.AFFieldTextMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFFieldTextMarker .af_inputText_content,.af_inputText.AFFieldTextLTRMarker .af_inputText_content,.af_inputText.AFPhoneFieldTextMarker .af_inputText_content,.af_inputText.AFPostalCodeFieldTextMarker .af_inputText_content,.af_inputText.AFAddressFieldTextMarker .af_inputText_content,.af_inputChoice.AFFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.AFFieldTextLTRMarker .af_inputChoice_content-input,.af_inputChoice.AFPhoneFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.AFPostalCodeFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.AFAddressFieldTextMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.AFFieldTextMarker .af_inputNumberSpinbox_content,.af_inputNumberSpinbox.p_AFDisabled.AFFieldTextMarker .af_inputNumberSpinbox_content,.af_inputNumberSpinbox.AFFieldTextLTRMarker .af_inputNumberSpinbox_content,.AFFieldTextLTR,.AFPhoneFieldText,.AFPostalCodeFieldText,.AFAddressFieldText,.PortletText1,.PortletText2,.PortletText3,.PortletText4,.portlet-form-input-field,.portlet-form-field {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000}
+.AFInstructionTextDisabled,.AFFieldTextDisabled,.af_inputText.p_AFDisabled.AFFieldTextLTRMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFPhoneFieldTextMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFPostalCodeFieldTextMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFAddressFieldTextMarker .af_inputText_content,.af_inputChoice.p_AFDisabled.AFFieldTextLTRMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFPhoneFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFPostalCodeFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFAddressFieldTextMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.p_AFDisabled.AFFieldTextLTRMarker .af_inputNumberSpinbox_content,.p_InContextBrandingText,.AFFieldTextLTRDisabled,.AFPhoneFieldTextDisabled,.AFPostalCodeFieldTextDisabled,.AFAddressFieldTextDisabled,.OraHGridNavRowInactiveLink,.OraNavBarInactiveLink,.portlet-font-dim {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#999999}
+.AFDataText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#000000}
+.AFDataTextDisabled {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#999999}
+.AFDataNumber {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#000000;text-align:right}
+.AFDataNumberDisabled {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#999999;text-align:right}
+.AFFieldNumber,.af_inputText.AFFieldNumberMarker .af_inputText_content,.af_inputChoice.AFFieldNumberMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.AFFieldNumberMarker .af_inputNumberSpinbox_content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:right;color:#000000}
+.AFFieldNumberDisabled,.af_inputText.p_AFDisabled.AFFieldNumberMarker .af_inputText_content,.af_inputChoice.p_AFDisabled.AFFieldNumberMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.p_AFDisabled.AFFieldNumberMarker .af_inputNumberSpinbox_content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:right;color:#999999}
+.AFLabelText,.af_outputLabel,.af_inputChoice_label,.af_inputFile_label,.af_inputNumberSpinbox_label,.af_inputText_label,.af_selectBooleanCheckbox_label,.af_selectBooleanRadio_label,.af_inputColor_label,.af_inputDate_label,.af_inputListOfValues_label,.af_selectManyCheckbox_label,.af_selectManyListbox_label,.af_selectOneChoice_label,.af_selectOneListbox_label,.af_selectOneRadio_label,.af_panelLabelAndMessage_label,.af_panelFormLayout_label-cell,.portlet-form-label,.portlet-icon-label,.portlet-dlg-icon-label,.portlet-form-field-label {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;text-align:right;color:#000000;padding:0px 8px 0px 0px;font-weight:normal}
+.AFLabelCell {padding:0px 8px 0px 0px}
+.AFErrorIconStyle {color:#cc0000;font-family:monospace;font-weight:bold}
+.AFInfoIconStyle,.AFWarningIconStyle,.AFQuickSelectIconStyle {color:#669966;font-family:monospace;font-weight:bold}
+.AFRequiredIconStyle {color:#669966;font-family:Courier,sans-serif}
+.AFQuickSelectDisabledIconStyle {color:#999999;font-family:monospace;font-weight:bold}
+.OraLink:link,.af_treeTable_path,.af_menuPath,.af_panelList A,.af_panelPopup_link,.OraLinkText,.OraHGridNavRowActiveLink,.OraNavBarActiveLink {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#003333}
+.OraLink:active,.OraALinkText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#006666}
+.OraLink:visited,.OraVLinkText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#336666}
+.OraLinkDisabled,.af_outputLabel_required-icon-style,.af_inputChoice_required-icon-style,.af_inputNumberSpinbox_required-icon-style,.af_inputText_required-icon-style,.af_selectBooleanCheckbox_required-icon-style,.af_selectBooleanRadio_required-icon-style,.af_inputDate_required-icon-style,.af_selectManyCheckbox_required-icon-style,.af_selectManyListbox_required-icon-style,.af_selectOneChoice_required-icon-style,.af_selectOneListbox_required-icon-style,.af_selectOneRadio_required-icon-style,.af_outputLabel_group-icon-style,.af_inputChoice_group-icon-style,.af_inputNumberSpinbox_group-icon-style,.af_inputText_group-icon-style,.af_selectBooleanCheckbox_group-icon-style,.af_selectBooleanRadio_group-icon-style,.af_inputDate_group-icon-style,.af_selectManyCheckbox_group-icon-style,.af_selectManyListbox_group-icon-style,.af_selectOneChoice_group-icon-style,.af_selectOneListbox_group-icon-style,.af_selectOneRadio_group-icon-style,.af_menuList,.af_navigationPane_choice-label,.af_navigationPane_choice-options,.af_navigationPane_choice-button,.af_breadCrumbs,.af_selectManyShuttle_box-content,.af_selectOrderShuttle_box-content,.af_menuTabs,.af_commandButton,.af_goButton,.af_resetButton,.p_OraDisabled,.OraNav3,.p_OraTreeRow,.portlet-form-button {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal}
+.af_outputDocument_title,.AFHeaderLevelOne,H1.af_panelHeader,H1.af_showDetailHeader,.PortletHeaderText,.PortletHeading1,.PortletSubHeaderText,.portlet-section-header,.portlet-section-subheader,.portlet-table-header,.portlet-table-subheader {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;color:#669966;font-weight:bold;padding:0px;margin:0px}
+.af_outputDocument_paragraph {text-align:justify;padding:0px;margin:0px}
+.af_outputDocument_separator {text-align:center;padding:0px;margin:0px}
+.af_panelTip,.OraPageStampText,.af_singleStepButtonBar_label,.OraNavBarViewOnly {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#669966}
+.af_panelTip_label {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold}
+.af_panelAccordion_toolbar,.p_OraContentFooterChildren {float:right}
+.af_dialog_container,.af_panelPopup_container {border-color:#336633;border:1px solid;background-color:white}
+.af_dialog_title-bar,.af_panelPopup_title-bar {background-color:#CCCCCC;border-color:#336633;border-bottom:1px solid;padding:2px 2px 2px 2px}
+.af_dialog_title-text,.af_panelPopup_title-text {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;font-weight:normal;white-space:nowrap;overflow:hidden}
+.af_dialog_close-icon {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;font-weight:normal;margin-left:5px;background-image:url(images/close.gif);background-position:center;background-repeat:no-repeat;height:13px;width:13px}
+.af_dialog_content,.af_panelPopup_content {background-color:#e9e8e8;border:0px}
+.af_inputChoice.p_AFDisabled .af_inputChoice_label,.af_inputNumberSpinbox.p_AFDisabled .af_inputNumberSpinbox_label,.af_inputText.p_AFDisabled .af_inputText_label,.af_selectBooleanCheckbox.p_AFDisabled .af_selectBooleanCheckbox_label,.af_selectBooleanRadio.p_AFDisabled .af_selectBooleanRadio_label,.af_inputColor.p_AFDisabled .af_inputColor_label,.af_inputDate.p_AFDisabled .af_inputDate_label,.af_inputListOfValues.p_AFDisabled .af_inputListOfValues_label,.af_selectManyCheckbox.p_AFDisabled .af_selectManyCheckbox_label,.af_selectManyListbox.p_AFDisabled .af_selectManyListbox_label,.af_selectOneChoice.p_AFDisabled .af_selectOneChoice_label,.af_selectOneListbox.p_AFDisabled .af_selectOneListbox_label,.af_selectOneRadio.p_AFDisabled .af_selectOneRadio_label,.af_navigationPane_bar-inactive-enabled .af_navigationPane_bar-content,.af_navigationPane_bar-active-enabled .af_navigationPane_bar-content a,.af_navigationPane_bar-inactive-enabled .af_navigationPane_bar-content a,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-mid A {color:#000000}
+.af_inputNumberSpinbox_increment-cell,.af_inputNumberSpinbox_decrement-cell {background-color:#e9e8e8;border-color:#999999;border-width:1px;border-style:solid;width:11px;height:8px}
+.af_inputNumberSpinbox_spinbox-cell {padding-left:1px}
+.af_menuList_selected,.OraNav3Selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#ccffcc}
+.af_menuChoice_label,.portlet-font {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal}
+BODY,.portlet-section-body,.portlet-table-body {background-color:#ffffff;font-family:Arial,Helvetica,Geneva,sans-serif}
+.af_treeTable_path-step,.af_menuPath_step,.af_menuPath_selected-step {color:#003333;font-size:9pt}
+.af_treeTable_path-selected-step {font-size:9pt;color:#000000}
+.af_panelList UL {margin-top:4px;margin-bottom:4px}
+button {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;background-color:#e9e8e8;padding:0px;margin:1px}
+.af_inputColor_swatch-overlay {position:relative;left:-7px;top:5px}
+.af_navigationPane_bar {background-color:#EFEFEF;padding-left:6px;padding-right:6px}
+.af_navigationPane_bar-active-disabled,.af_navigationPane_bar-inactive-disabled,.af_navigationPane_buttons-active-disabled,.af_navigationPane_buttons-inactive-disabled,.af_navigationPane_list-active-disabled,.af_navigationPane_list-inactive-disabled {cursor:default}
+.af_navigationPane_bar-active-enabled,.af_navigationPane_bar-inactive-enabled,.af_navigationPane_buttons-active-enabled,.af_navigationPane_buttons-inactive-enabled,.af_navigationPane_list-active-enabled,.af_navigationPane_list-inactive-enabled,.af_navigationPane_tabs-active,.af_navigationPane_tabs-inactive {cursor:pointer}
+.af_navigationPane_bar-active-enabled .af_navigationPane_bar-content {color:#000000;font-weight:bold}
+.af_navigationPane_bar-active-enabled .af_navigationPane_bar-content a:hover,.af_navigationPane_bar-inactive-enabled .af_navigationPane_bar-content a:hover,.af_navigationPane_buttons-active-enabled .af_navigationPane_buttons-content a:hover,.af_navigationPane_buttons-inactive-enabled .af_navigationPane_buttons-content a:hover,.af_navigationPane_list-active-enabled .af_navigationPane_list-content a:hover,.af_navigationPane_list-inactive-enabled .af_navigationPane_list-content a:hover,.AFAccessKeyStyle {text-decoration:underline}
+.af_navigationPane_bar-active-disabled .af_navigationPane_bar-content,.af_navigationPane_buttons-active-disabled .af_navigationPane_buttons-content,.af_navigationPane_list-active-disabled .af_navigationPane_list-content {color:gray;font-weight:bold}
+.af_navigationPane_bar-inactive-disabled .af_navigationPane_bar-content,.af_navigationPane_bar-active-disabled .af_navigationPane_bar-content a,.af_navigationPane_bar-inactive-disabled .af_navigationPane_bar-content a,.af_navigationPane_buttons-inactive-disabled .af_navigationPane_buttons-content,.af_navigationPane_buttons-active-disabled .af_navigationPane_buttons-content a,.af_navigationPane_buttons-inactive-disabled .af_navigationPane_buttons-content a,.af_navigationPane_list-inactive-disabled .af_navigationPane_list-content,.af_navigationPane_list-active-disabled .af_navigationPane_list-content a,.af_navigationPane_list-inactive-disabled .af_navigationPane_list-content a,.af_navigationPane_tabs-active.p_AFDisabled .af_navigationPane_tabs-mid,.af_navigationPane_tabs-inactive.p_AFDisabled .af_navigationPane_tabs-mid {color:gray}
+.af_navigationPane_bar-content,.af_navigationPane_buttons-content,.af_navigationPane_list-content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding-top:3px;padding-bottom:3px}
+.af_navigationPane_bar-content a,.af_navigationPane_buttons-content a,.af_navigationPane_list-content a {text-decoration:none}
+.af_navigationPane_bar-separator {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding-left:6px;padding-right:6px;color:gray}
+.af_navigationPane_buttons-active-enabled .af_navigationPane_buttons-content,.af_navigationPane_list-active-enabled .af_navigationPane_list-content,.af_navigationPane_tabs-active .af_navigationPane_tabs-mid A,.AFLinkAccessKeyStyle,.af_inputDate_selected,.af_chooseDate_selected {font-weight:bold}
+.af_navigationPane_buttons-separator {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding-left:6px;padding-right:6px}
+.af_navigationPane_list-bullet {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;vertical-align:middle;width:17px;background-image:url(images/list-bullet.gif);background-position:center;background-repeat:no-repeat}
+.af_navigationPane_tabs {height:26px;overflow:hidden}
+.af_navigationPane_tabs-active.p_AFDisabled,.af_navigationPane_tabs-inactive.p_AFDisabled {cursor:default;color:gray}
+.af_navigationPane_tabs-start,.af_navigationPane_tabs-start-join {height:22px;width:26px;background-position:top right}
+.af_navigationPane_tabs-start-join-from-active,.af_navigationPane_tabs-start-join-from-inactive {height:22px;width:14px;background-repeat:no-repeat}
+.af_navigationPane_tabs-mid {height:22px;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;padding-left:3px;white-space:nowrap}
+.af_navigationPane_tabs-end-join-to-inactive {height:22px;width:12px;background-repeat:no-repeat}
+.af_navigationPane_tabs-end {height:22px;width:15px}
+.af_navigationPane_tabs-bottom-start,.af_navigationPane_tabs-bottom-mid,.af_navigationPane_tabs-bottom-end {height:4px;background-repeat:repeat-x}
+.af_navigationPane_tabs-bottom-start-content {height:4px;width:17px;background-repeat:no-repeat}
+.af_navigationPane_tabs-bottom-mid-content {height:4px}
+.af_navigationPane_tabs-bottom-end-content {height:4px;width:100%;background-repeat:no-repeat}
+.af_navigationPane_tabs-mid A {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;text-decoration:none}
+.af_navigationPane_tabs-bottom-end-join {background-repeat:repeat-x}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-start {background-image:url(images/tab3-start-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-start-join {background-image:url(images/tab3-start-join-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-start,.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-mid,.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-end {background-image:url(images/tab3-bot-mid-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-start-content {background-image:url(images/tab3-bot-start-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-mid {background-image:url(images/tab3-mid-selected.gif);font-weight:bold}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-end-join-to-inactive {background-image:url(images/tab3-end-join-selected-to-deselected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-end {background-image:url(images/tab3-end-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-end-join,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-start,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-mid,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-end,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-end-join {background-image:url(images/tab3-bot-deselected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-end-content {background-image:url(images/tab3-bot-end-selected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-start {background-image:url(images/tab3-start-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-start-content,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-end-content {background-image:none}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-start-join-from-active {background-image:url(images/tab3-start-join-selected-to-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-start-join-from-inactive {background-image:url(images/tab3-start-join-deselected-to-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-mid {color:#000000;background-image:url(images/tab3-mid-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-end-join-to-inactive {background-image:url(images/tab3-end-join-deselected-to-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-end {background-image:url(images/tab3-end-deselected.gif)}
+.af_panelFormLayout_column,.p_OraTreeIcon {vertical-align:top}
+.af_panelFormLayout_separator {background-color:gray;height:1px;font-size:1px;margin-top:3px;margin-bottom:3px}
+.af_panelFormLayout_cell,.af_panelFormLayout_content-cell,.af_panelFormLayout_message-cell {padding:1px 0px}
+.af_panelFormLayout_label-stacked-cell {padding:1px 0px;text-align:left}
+.af_panelBox_transparent,.af_panelBox_light,.af_panelBox_medium {border-color:#99cc99;border-style:solid;border-width:1px;margin:2px}
+.af_panelBox_dark {border-style:solid;border-width:1px;margin:2px;border-color:#669966}
+.af_panelBox_transparent img,.af_panelBox_light img,.af_panelBox_medium img,.af_panelBox_dark img,.af_selectManyShuttle_box-content img,.af_selectOrderShuttle_box-content img,.af_menuBar img,.af_messages img,.af_menuTabs img {vertical-align:bottom}
+.af_panelBox_body {padding:5px;height:20px}
+.af_panelBox_light .af_panelBox_body,.af_selectManyShuttle_box-content .af_selectManyShuttle_box-body,.af_selectOrderShuttle_box-content .af_selectOrderShuttle_box-body,.af_panelSideBar_body,.OraBGAccentLight,.PortletBodyColor,.PortletSubHeaderColor,.af_messages_body {background-color:#e9e8e8}
+.af_panelBox_medium .af_panelBox_body,.OraBGAccentMedium {background-color:#ffffcc}
+.af_panelBox_dark .af_panelBox_body,.OraBGAccentDark {background-color:#CCCCCC}
+.af_panelBox_header,.PortletHeaderColor {width:100%;background-repeat:repeat-x;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;padding:0px 3px;font-weight:bold}
+.af_panelBox_light .af_panelBox_header {background-color:#99cc99;color:#ffffff}
+.af_panelPage_copyright,.af_panelPage_privacy,.af_panelPage_about {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#000000;white-space:nowrap;padding:5px}
+.af_panelPage_copyright A,.af_panelPage_privacy A,.af_panelPage_about A,.af_train_link,.af_panelTabbed_tab A,.p_OraTreeRow A:link,.p_OraTreeRow A:active,.p_OraTreeRow A:visited {color:#003333}
+.af_panelCaptionGroup {border-color:#e9e8e8}
+.af_panelCaptionGroup_caption,.OraPageStampLabel,.OraTableControlBarText,.p_OraTreeRowSelected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#669966}
+.af_panelPopup_trigger {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#003333;text-decoration:none;white-space:nowrap}
+.af_panelPopup_close-icon {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;font-weight:normal;text-align:right;padding-left:5px}
+.af_menuButtons_text {color:#003333;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding:0px 2px 2px 2px}
+.af_menuButtons_text-selected {color:#669966;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding:0px 2px 2px 2px}
+.af_menuButtons_text-disabled {color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding:0px 2px 2px 2px}
+.af_menuBar {background-color:#669966;color:#ffffff;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;min-height:4px;padding:0px}
+.af_menuBar_enabled,.af_menuBar_selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding:0px 0px 0px 5px;white-space:nowrap}
+.af_menuBar_enabled A,.af_menuBar_selected A,.PortletHeaderLink,.PortletSubHeaderLink {color:#ffffff;text-decoration:none}
+.af_menuBar_separator {color:#ffffff;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal}
+.af_treeTable_expansion {color:#669966;position:absolute;top:0px;left:-18px;text-decoration:none}
+.af_treeTable_focus {font-size:10pt;font-weight:normal;color:#669966;font-family:monospace;text-decoration:none}
+.af_treeTable_locator {font-size:10pt;font-weight:normal;color:#999999;font-family:monospace}
+.af_showOnePanel_container {border-color:#999999;border-width:0px 1px 1px 1px;border-style:solid}
+.af_showOnePanel_header-collapsed {border-color:#999999;height:21px;text-decoration:none;white-space:nowrap;padding-right:5px;border-width:1px 0px 0px 0px;border-style:solid;cursor:pointer;padding-left:5px}
+.af_showOnePanel_header-expanded {border-color:#999999;height:21px;text-decoration:none;white-space:nowrap;padding-right:5px;border-style:solid;border-width:1px 0px 1px 0px;padding-left:2px}
+.af_showOnePanel_header-disabled {border-color:#999999;height:21px;text-decoration:none;white-space:nowrap;padding-right:5px;border-style:solid;border-width:1px 0px 0px 0px;padding-left:18px}
+.af_showOnePanel_content {vertical-align:top;margin:5px}
+.af_showOnePanel_title-link {background:transparent;color:#669966;display:block;padding-top:2px;text-decoration:none;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold}
+.af_showOnePanel_title-disabled-link {color:#999999;display:block;padding-top:2px;text-decoration:none;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold}
+.AFHeaderLevelTwo,H2.af_panelHeader,H2.af_showDetailHeader,.PortletHeading2 {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;color:#669966;font-weight:bold;padding:0px;margin:0px}
+.AFHeaderLevelThreePlus,H3.af_panelHeader,H4.af_panelHeader,H5.af_panelHeader,H6.af_panelHeader,H3.af_showDetailHeader,H4.af_showDetailHeader,H5.af_showDetailHeader,H6.af_showDetailHeader,.PortletHeading3,.PortletHeading4 {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;color:#669966;font-weight:bold;padding:0px;margin:0px}
+.af_panelHeader_error,.af_messages_error,.portlet-msg-error {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:bold;padding:0px;margin:0px;color:#cc0000}
+.af_messages_header {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;color:#669966;font-weight:bold;margin:0px;border-color:#CCCCCC;border-width:0px 0px 1px 0px;border-style:solid;vertical-align:bottom;margin-bottom:3px;padding:0px 3px}
+.af_messages {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#336633;width:100%;border-color:#999999;background-color:#ffffcc;border-style:solid;border-width:1px;padding:0px;margin:5px 0px 0px}
+.af_messages_message-text,.af_messages_list,.portlet-msg-info {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#669966;margin:0px 0px 0px 0px;padding:5px 30px 5px 30px}
+.af_panelSideBar {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#336633;border-color:#999999;border-width:0px 1px 1px;border-style:solid;padding:0px;margin:0px 5px 0px 0px}
+.AFSortableHeaderSortIcon {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:9pt;font-weight:normal;color:#669966;padding-left:4px;text-decoration:none}
+.af_menuTabs_enabled {background-color:#e9e8e8;white-space:nowrap;border-color:#999999;border-style:solid;border-width:1px 1px 0px 1px;padding:2px 6px}
+.af_menuTabs_selected {background-color:#669966;white-space:nowrap;border-color:#999999;border-style:solid;border-width:1px 1px 0px 1px;padding:2px 6px}
+.af_menuTabs_disabled {background-color:#e9e8e8;color:#999999;white-space:nowrap;border-color:#999999;border-style:solid;border-width:1px 1px 0px 1px;padding:2px 6px}
+.af_menuTabs_enabled A {text-decoration:none;color:#336633}
+.af_menuTabs_selected A {text-decoration:none;color:#ccffcc;font-weight:bold}
+.af_menuTabs_separator {width:0px}
+.af_table_content,.af_treeTable_content {border-collapse:collapse;border-color:#999999;border-style:solid;border-width:1px}
+.af_table_control-bar-top,.af_treeTable_control-bar-top {background-color:#e9e8e8;border-color:#999999;border-style:solid;border-width:1px 1px 0px;padding:1px 2px}
+.af_table_control-bar-bottom,.af_treeTable_control-bar-bottom {background-color:#e9e8e8;border-color:#999999;border-style:solid;border-width:0px 1px 1px;padding:1px 2px}
+.af_table_sub-control-bar,.af_treeTable_sub-control-bar {border-color:#999999;border-style:solid;border-width:1px 1px 0px;padding:1px 2px}
+.af_column_cell-text,.portlet-section-selected,.portlet-table-selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#e9e8e8;border-color:#999999}
+.af_column_cell-text-band,.portlet-section-alternate,.portlet-table-alternate {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#ffffff;border-color:#999999}
+.af_column_cell-number {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#e9e8e8;border-color:#999999;text-align:right;padding-right:2px}
+.af_column_cell-number-band {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#ffffff;border-color:#999999;text-align:right;padding-right:2px}
+.af_column_cell-icon-format,.af_tableSelectOne_cell-icon-format,.af_tableSelectMany_cell-icon-format,.OraTableCellSelect,.portlet-section-text,.portlet-table-text {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#e9e8e8;border-color:#999999;text-align:center}
+.af_column_cell-icon-format-band,.af_tableSelectOne_cell-icon-format-band,.af_tableSelectMany_cell-icon-format-band,.OraTableCellSelectBand {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#ffffff;border-color:#999999;text-align:center}
+.af_column_header-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#669966;vertical-align:bottom}
+.af_column_header-number {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;text-align:right}
+.af_column_header-icon-format {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;text-align:center}
+.af_column_row-header-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:right;background-color:#CCCCCC;color:#669966}
+.af_table_detail {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;border-color:#999999;background-color:#ffffff}
+.af_table_column-footer,.portlet-section-footer,.portlet-table-footer {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#669966}
+.OraTableTotal {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:right;background-color:#CCCCCC;color:#669966}
+.af_column_total-number {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:right;background-color:#CCCCCC;color:#000000;vertical-align:baseline}
+.af_column_total-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#000000;vertical-align:baseline}
+.af_column_sortable-header-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#669966;vertical-align:bottom;cursor:pointer;border-width:2px;border-style:outset}
+.af_column_sortable-header-number {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;cursor:pointer;border-width:2px;border-style:outset;text-align:right}
+.af_column_sortable-header-icon-format {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;cursor:pointer;border-width:2px;border-style:outset;text-align:center}
+.af_train_stop-content,.af_train_overflow-start-content,.af_train_overflow-end-content,.af_train_parent-start-content,.af_train_parent-end-content {border-top-style:solid;border-top-width:2px;}
+.af_train_stop.p_AFSelected {color:#669966;font-weight:bold;border-color:#669966}
+.af_train_stop:visited,.af_train_stop:visited .af_train_link {color:#666666}
+.af_train_stop.p_AFDisabled {color:#999999;border-color:#cccccc}
+.af_train_stop.p_AFUnvisited {color:#669966;border-color:#669966}
+.af_train_stop.p_AFDisabled .af_train_link {color:#669999}
+.OraBGColorVeryDark {background-color:#336633}
+.OraBGColorDark,.af_menuBar_body,.af_menuBar_title,.af_menuBar_empty {background-color:#669966}
+.OraBGColorMedium {background-color:#99cc99}
+.OraBGColorLight {background-color:#ccffcc}
+.OraBGGrayVeryDark {background-color:#333333}
+.OraBGGrayDark {background-color:#666666}
+.OraBGGrayMedium,.OraBGAccentVeryDark,.OraTable {background-color:#999999}
+.OraBGGrayLight {background-color:#cccccc}
+.OraInlineInfoText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#669966}
+.OraTextInline {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#99cc99}
+.OraMessageBoxErrorText,.AFErrorText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#cc0000}
+.OraErrorNameText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#cc0000}
+.OraInlineErrorText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#cc0000}
+.OraGlobalPageTitle {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;color:#ffffff;font-weight:bold}
+.p_OraSelected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#ccffcc;text-decoration:none}
+.p_OraHiddenLabel {position:absolute;top:-999px;left:0px;font-size:0px}
+.p_OraColorFieldSwatch {border-color:#000000;border-style:solid;border-width:1px}
+.p_OraColorPalette {background-color:#000000}
+.p_OraColorPaletteEmptyCell {background-color:#ffffff}
+.af_inputDate_nav A,.af_chooseDate_nav A {color:#003333;text-decoration:none}
+.af_inputDate_title,.af_chooseDate_title {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:normal;text-align:center;background-color:#ffffff;color:#669966;padding:2px}
+.af_inputDate_header,.af_chooseDate_header {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:center;color:#669966;padding:2px}
+.af_inputDate_content A,.af_chooseDate_content A {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:center;color:#003333}
+.af_chooseDate_content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:center;color:#999999;text-decoration:none;border-width:1px;border-style:solid;padding:2px}
+.p_OraContentFooterRule {color:#669966}
+.p_OraContentFooterStart {float:left}
+.p_OraContentFooterBottom {clear:both;margin-bottom:5px}
+.p_OraFooter {text-align:center}
+.p_OraFooterBottom {padding-top:5px}
+.p_OraHeaderNest {margin:5px 0px 0px 12px}
+.OraHGridLocatorHeader {border-color:#999999;background-color:#e9e8e8}
+.p_OraHideShowDisclosedSymbol,.af_panelTabbed_tab-selected A,.p_OraTreeDisclosedSymbol A:link,.p_OraTreeDisclosedSymbol A:active,.p_OraTreeDisclosedSymbol A:visited,.p_OraTreeRowSelected A:link,.p_OraTreeRowSelected A:active,.p_OraTreeRowSelected A:visited {color:#669966;text-decoration:none}
+.af_messages_list-single {list-style-type:none}
+.p_OraQuickSearchBox {background-color:#e9e8e8;border-color:#CCCCCC;border-style:solid;padding:0pt 5pt 5pt 5pt;border-width:0px 0px 1px 1px}
+.p_OraGlobalQuick {border-color:#CCCCCC;border-style:solid;border-width:0px 0px 0px 1px}
+.p_OraProcessingStatus {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#669966;border-color:#99cc99;border-style:solid;border-width:1px}
+.p_OraProductBrandingText {color:#669966;position:relative;font-family:Garamond, Times, Times New Roman, Serif;font-weight:normal;font-size:24pt;line-height:28.8pt;top:-4.8pt}
+.p_OraProductBrandingCompactText {color:#669966;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;margin-bottom:0px;margin-top:0px;font-weight:bold}
+.OraShuttleHeader {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:9pt;color:#669966;font-weight:bold;padding:0px 0px 0px 18px}
+.OraShuttleLinkText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:9pt;font-weight:normal;color:#003333}
+.p_OraSideBarMinWidth {width:140px}
+.OraStyledList {list-style-position:inside;padding:0px;margin:0px}
+.OraStyledList .OraStyledList {padding:0pt 0pt 0pt 10pt}
+.af_panelTabbed_orientation-top {background-color:#e9e8e8;border-color:#99cc99;text-align:center;border-style:solid;padding:2px 0px;margin:4px 0px;border-width:1px 0px 0px}
+.af_panelTabbed_orientation-bottom {background-color:#e9e8e8;border-color:#99cc99;text-align:center;border-style:solid;padding:2px 0px;margin:4px 0px;border-width:0px 0px 1px}
+.af_panelTabbed_tab {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding:0px 8px}
+.af_panelTabbed_tab .p_OraDisabled {color:#999999}
+.af_panelTabbed_tab-selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;padding:0px 8px}
+.af_panelTabbed_cell-start {width:0%}
+.af_panelTabbed_cell-end {width:100%}
+.OraTableBorder0001 {border-style:solid;border-width:0px 0px 0px 1px}
+.OraTableBorder0010 {border-style:solid;border-width:0px 0px 1px}
+.OraTableBorder0011 {border-style:solid;border-width:0px 0px 1px 1px}
+.OraTableBorder0100 {border-style:solid;border-width:0px 1px 0px 0px}
+.OraTableBorder0101 {border-style:solid;border-width:0px 1px}
+.OraTableBorder0110 {border-style:solid;border-width:0px 1px 1px 0px}
+.OraTableBorder0111 {border-style:solid;border-width:0px 1px 1px}
+.OraTableBorder1000 {border-style:solid;border-width:1px 0px 0px}
+.OraTableBorder1001 {border-style:solid;border-width:1px 0px 0px 1px}
+.OraTableBorder1010 {border-style:solid;border-width:1px 0px}
+.OraTableBorder1011 {border-style:solid;border-width:1px 0px 1px 1px}
+.OraTableBorder1100 {border-style:solid;border-width:1px 1px 0px 0px}
+.OraTableBorder1101 {border-style:solid;border-width:1px 1px 0px}
+.OraTableBorder1110 {border-style:solid;border-width:1px 1px 1px 0px}
+.OraTableBorder1111 {border-style:solid;border-width:1px}
+.OraTableTitle {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:normal;background-color:#ffffff;color:#669966}
+.p_OraTreeDisclosedSymbol {color:#669966;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:right}
+.p_OraTreeNodeAdjust {padding-bottom:2px}
+.af_chart {width:400px;height:300px;background-color:white}
+.p_OraOnePixelLine {background-color:#CCCCCC;font-size:0pt;overflow:hidden;height:1px;width:100%}
+.p_OraDisplayBlock {display:block}
+.p_OraHideSkipNaviText {font-size:0pt;margin-top:0px;margin-left:-999px}
+.AFLogo {width:103px;height:13px;background-repeat:no-repeat;background-position:center;vertical-align:middle;background-image:url(images/logo-dark.gif)}
+.af_panelBox_content-dark {border-color:#669966}
+.af_train_stop.p_AFVisited {border-color:#999999}
+.af_panelHeader,.af_showDetailHeader {border-color:#CCCCCC;border-width:0px 0px 1px 0px;border-style:solid;vertical-align:bottom;margin-bottom:3px;padding:0px 3px}
+.af_panelHeader_icon-style {margin-right:3px}
+.af_objectSeparator {border-color:#669966;border-style:dashed none none;border-width:1px 0px 0px;height:1px;margin:-3px 0px -3px 0px;padding:0px}
+body {margin-top:8px}
+.p_OraNav2 {border-color:#99cc99}
+.af_navigationPane {height:25px}
+/* The number of CSS selectors in this file is 566 */
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/simple.css b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/simple.css
new file mode 100644
index 0000000..38fd694
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/dtRezProvCache/myfaces.apache.org_trinidad/skinning/simple.css
@@ -0,0 +1,226 @@
+/* This CSS file generated on Thu Apr 02 15:52:46 PDT 2009 */
+.AFInstructionText,.AFFieldText,.af_outputText,.af_outputFormatted,.af_outputDocument,.af_inputChoice_content,.af_inputChoice_content-input,.af_inputText_content,.af_inputNumberSpinbox_content,.af_inputColor_content,.af_inputDate_content,.af_inputListOfValues_content,.af_selectManyCheckbox_content,.af_selectManyListbox_content,.af_selectOneChoice_content,.af_selectOneListbox_content,.af_selectOneRadio_content,.af_inputText.AFFieldTextMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFFieldTextMarker .af_inputText_content,.af_inputText.AFFieldTextLTRMarker .af_inputText_content,.af_inputText.AFPhoneFieldTextMarker .af_inputText_content,.af_inputText.AFPostalCodeFieldTextMarker .af_inputText_content,.af_inputText.AFAddressFieldTextMarker .af_inputText_content,.af_inputChoice.AFFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.AFFieldTextLTRMarker .af_inputChoice_content-input,.af_inputChoice.AFPhoneFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.AFPostalCodeFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.AFAddressFieldTextMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.AFFieldTextMarker .af_inputNumberSpinbox_content,.af_inputNumberSpinbox.p_AFDisabled.AFFieldTextMarker .af_inputNumberSpinbox_content,.af_inputNumberSpinbox.AFFieldTextLTRMarker .af_inputNumberSpinbox_content,.AFFieldTextLTR,.AFPhoneFieldText,.AFPostalCodeFieldText,.AFAddressFieldText,.PortletText1,.PortletText2,.PortletText3,.PortletText4,.portlet-form-input-field,.portlet-form-field {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000}
+.AFInstructionTextDisabled,.AFFieldTextDisabled,.af_inputText.p_AFDisabled.AFFieldTextLTRMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFPhoneFieldTextMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFPostalCodeFieldTextMarker .af_inputText_content,.af_inputText.p_AFDisabled.AFAddressFieldTextMarker .af_inputText_content,.af_inputChoice.p_AFDisabled.AFFieldTextLTRMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFPhoneFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFPostalCodeFieldTextMarker .af_inputChoice_content-input,.af_inputChoice.p_AFDisabled.AFAddressFieldTextMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.p_AFDisabled.AFFieldTextLTRMarker .af_inputNumberSpinbox_content,.af_menuButtons_text-disabled,.p_InContextBrandingText,.AFFieldTextLTRDisabled,.AFPhoneFieldTextDisabled,.AFPostalCodeFieldTextDisabled,.AFAddressFieldTextDisabled,.OraHGridNavRowInactiveLink,.OraNavBarInactiveLink,.portlet-font-dim {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#999999}
+.AFDataText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#000000}
+.AFDataTextDisabled {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#999999}
+.AFDataNumber {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#000000;text-align:right}
+.AFDataNumberDisabled {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#999999;text-align:right}
+.AFFieldNumber,.af_inputText.AFFieldNumberMarker .af_inputText_content,.af_inputChoice.AFFieldNumberMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.AFFieldNumberMarker .af_inputNumberSpinbox_content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:right;color:#000000}
+.AFFieldNumberDisabled,.af_inputText.p_AFDisabled.AFFieldNumberMarker .af_inputText_content,.af_inputChoice.p_AFDisabled.AFFieldNumberMarker .af_inputChoice_content-input,.af_inputNumberSpinbox.p_AFDisabled.AFFieldNumberMarker .af_inputNumberSpinbox_content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:right;color:#999999}
+.AFLabelText,.af_outputLabel,.af_inputChoice_label,.af_inputFile_label,.af_inputNumberSpinbox_label,.af_inputText_label,.af_selectBooleanCheckbox_label,.af_selectBooleanRadio_label,.af_inputColor_label,.af_inputDate_label,.af_inputListOfValues_label,.af_selectManyCheckbox_label,.af_selectManyListbox_label,.af_selectOneChoice_label,.af_selectOneListbox_label,.af_selectOneRadio_label,.af_panelLabelAndMessage_label,.af_panelFormLayout_label-cell,.portlet-form-label,.portlet-icon-label,.portlet-dlg-icon-label,.portlet-form-field-label {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;text-align:right;color:#000000;padding:0px 8px 0px 0px;font-weight:normal}
+.AFLabelCell {padding:0px 8px 0px 0px}
+.AFErrorIconStyle {color:#cc0000;font-family:monospace;font-weight:bold}
+.AFInfoIconStyle,.AFWarningIconStyle,.AFQuickSelectIconStyle {color:#669966;font-family:monospace;font-weight:bold}
+.AFRequiredIconStyle {color:#669966;font-family:Courier,sans-serif}
+.AFQuickSelectDisabledIconStyle {color:#999999;font-family:monospace;font-weight:bold}
+.OraLink:link,.af_treeTable_path,.af_menuPath,.af_panelList A,.af_panelPopup_link,.af_menuButtons_text,.OraLinkText,.OraHGridNavRowActiveLink,.OraNavBarActiveLink {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#003333}
+.OraLink:active,.OraALinkText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#006666}
+.OraLink:visited,.OraVLinkText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#336666}
+.OraLinkDisabled,.af_outputLabel_required-icon-style,.af_inputChoice_required-icon-style,.af_inputNumberSpinbox_required-icon-style,.af_inputText_required-icon-style,.af_selectBooleanCheckbox_required-icon-style,.af_selectBooleanRadio_required-icon-style,.af_inputDate_required-icon-style,.af_selectManyCheckbox_required-icon-style,.af_selectManyListbox_required-icon-style,.af_selectOneChoice_required-icon-style,.af_selectOneListbox_required-icon-style,.af_selectOneRadio_required-icon-style,.af_outputLabel_group-icon-style,.af_inputChoice_group-icon-style,.af_inputNumberSpinbox_group-icon-style,.af_inputText_group-icon-style,.af_selectBooleanCheckbox_group-icon-style,.af_selectBooleanRadio_group-icon-style,.af_inputDate_group-icon-style,.af_selectManyCheckbox_group-icon-style,.af_selectManyListbox_group-icon-style,.af_selectOneChoice_group-icon-style,.af_selectOneListbox_group-icon-style,.af_selectOneRadio_group-icon-style,.af_menuList,button,.af_navigationPane_choice-label,.af_navigationPane_choice-options,.af_navigationPane_choice-button,.af_breadCrumbs,.af_selectManyShuttle_box-content,.af_selectOrderShuttle_box-content,.af_menuTabs,.af_commandButton,.af_goButton,.af_resetButton,.p_OraDisabled,.OraNav3,.p_OraTreeRow,.portlet-form-button {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal}
+.af_outputDocument_title {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:normal;color:#669966;padding:0px;margin:0px}
+.af_outputDocument_paragraph {text-align:justify;padding:0px;margin:0px}
+.af_outputDocument_separator {text-align:center;padding:0px;margin:0px}
+.af_panelTip,.af_menuButtons_text-selected,.AFHeaderLevelThreePlus,H3.af_panelHeader,H4.af_panelHeader,H5.af_panelHeader,H6.af_panelHeader,H3.af_showDetailHeader,H4.af_showDetailHeader,H5.af_showDetailHeader,H6.af_showDetailHeader,.OraPageStampText,.af_singleStepButtonBar_label,.OraNavBarViewOnly,.PortletHeading3,.PortletHeading4 {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#669966}
+.af_panelTip_label {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold}
+.af_panelAccordion_toolbar,.p_OraContentFooterChildren {float:right}
+.af_dialog_container,.af_panelPopup_container {border-color:#336633;border:1px solid;background-color:white}
+.af_dialog_title-bar,.af_panelPopup_title-bar {background-color:#CCCCCC;border-color:#336633;border-bottom:1px solid;padding:2px 2px 2px 2px}
+.af_dialog_title-text,.af_panelPopup_title-text {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;font-weight:normal;white-space:nowrap;overflow:hidden}
+.af_dialog_close-icon {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;font-weight:normal;margin-left:5px;background-image:url(images/close.gif);background-position:center;background-repeat:no-repeat;height:13px;width:13px}
+.af_dialog_content,.af_panelPopup_content {background-color:#e9e8e8;border:0px}
+.af_inputChoice.p_AFDisabled .af_inputChoice_label,.af_inputNumberSpinbox.p_AFDisabled .af_inputNumberSpinbox_label,.af_inputText.p_AFDisabled .af_inputText_label,.af_selectBooleanCheckbox.p_AFDisabled .af_selectBooleanCheckbox_label,.af_selectBooleanRadio.p_AFDisabled .af_selectBooleanRadio_label,.af_inputColor.p_AFDisabled .af_inputColor_label,.af_inputDate.p_AFDisabled .af_inputDate_label,.af_inputListOfValues.p_AFDisabled .af_inputListOfValues_label,.af_selectManyCheckbox.p_AFDisabled .af_selectManyCheckbox_label,.af_selectManyListbox.p_AFDisabled .af_selectManyListbox_label,.af_selectOneChoice.p_AFDisabled .af_selectOneChoice_label,.af_selectOneListbox.p_AFDisabled .af_selectOneListbox_label,.af_selectOneRadio.p_AFDisabled .af_selectOneRadio_label,.af_navigationPane_bar-inactive-enabled .af_navigationPane_bar-content,.af_navigationPane_bar-active-enabled .af_navigationPane_bar-content a,.af_navigationPane_bar-inactive-enabled .af_navigationPane_bar-content a,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-mid A {color:#000000}
+.af_inputNumberSpinbox_increment-cell,.af_inputNumberSpinbox_decrement-cell {background-color:#e9e8e8;border-color:#999999;border-width:1px;border-style:solid;width:11px;height:8px}
+.af_inputNumberSpinbox_spinbox-cell {padding-left:1px}
+.af_menuList_selected,.OraNav3Selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#ccffcc}
+.af_menuChoice_label,.portlet-font {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal}
+BODY,.portlet-section-body,.portlet-table-body {background-color:#ffffff;font-family:Arial,Helvetica,Geneva,sans-serif}
+.af_treeTable_path-step,.af_menuPath_step,.af_menuPath_selected-step {color:#003333;font-size:9pt}
+.af_treeTable_path-selected-step {font-size:9pt;color:#000000}
+.af_panelList UL {margin-top:4px;margin-bottom:4px}
+.af_inputColor_swatch-overlay {position:relative;left:-7px;top:5px}
+.af_navigationPane_bar {background-color:#EFEFEF;padding-left:6px;padding-right:6px}
+.af_navigationPane_bar-active-disabled,.af_navigationPane_bar-inactive-disabled,.af_navigationPane_buttons-active-disabled,.af_navigationPane_buttons-inactive-disabled,.af_navigationPane_list-active-disabled,.af_navigationPane_list-inactive-disabled {cursor:default}
+.af_navigationPane_bar-active-enabled,.af_navigationPane_bar-inactive-enabled,.af_navigationPane_buttons-active-enabled,.af_navigationPane_buttons-inactive-enabled,.af_navigationPane_list-active-enabled,.af_navigationPane_list-inactive-enabled,.af_navigationPane_tabs-active,.af_navigationPane_tabs-inactive {cursor:pointer}
+.af_navigationPane_bar-active-enabled .af_navigationPane_bar-content {color:#000000;font-weight:bold}
+.af_navigationPane_bar-active-enabled .af_navigationPane_bar-content a:hover,.af_navigationPane_bar-inactive-enabled .af_navigationPane_bar-content a:hover,.af_navigationPane_buttons-active-enabled .af_navigationPane_buttons-content a:hover,.af_navigationPane_buttons-inactive-enabled .af_navigationPane_buttons-content a:hover,.af_navigationPane_list-active-enabled .af_navigationPane_list-content a:hover,.af_navigationPane_list-inactive-enabled .af_navigationPane_list-content a:hover,.AFAccessKeyStyle {text-decoration:underline}
+.af_navigationPane_bar-active-disabled .af_navigationPane_bar-content,.af_navigationPane_buttons-active-disabled .af_navigationPane_buttons-content,.af_navigationPane_list-active-disabled .af_navigationPane_list-content {color:gray;font-weight:bold}
+.af_navigationPane_bar-inactive-disabled .af_navigationPane_bar-content,.af_navigationPane_bar-active-disabled .af_navigationPane_bar-content a,.af_navigationPane_bar-inactive-disabled .af_navigationPane_bar-content a,.af_navigationPane_buttons-inactive-disabled .af_navigationPane_buttons-content,.af_navigationPane_buttons-active-disabled .af_navigationPane_buttons-content a,.af_navigationPane_buttons-inactive-disabled .af_navigationPane_buttons-content a,.af_navigationPane_list-inactive-disabled .af_navigationPane_list-content,.af_navigationPane_list-active-disabled .af_navigationPane_list-content a,.af_navigationPane_list-inactive-disabled .af_navigationPane_list-content a,.af_navigationPane_tabs-active.p_AFDisabled .af_navigationPane_tabs-mid,.af_navigationPane_tabs-inactive.p_AFDisabled .af_navigationPane_tabs-mid {color:gray}
+.af_navigationPane_bar-content,.af_navigationPane_buttons-content,.af_navigationPane_list-content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding-top:3px;padding-bottom:3px}
+.af_navigationPane_bar-content a,.af_navigationPane_buttons-content a,.af_navigationPane_list-content a {text-decoration:none}
+.af_navigationPane_bar-separator {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding-left:6px;padding-right:6px;color:gray}
+.af_navigationPane_buttons-active-enabled .af_navigationPane_buttons-content,.af_navigationPane_list-active-enabled .af_navigationPane_list-content,.af_navigationPane_tabs-active .af_navigationPane_tabs-mid A,.AFLinkAccessKeyStyle,.af_inputDate_selected,.af_chooseDate_selected {font-weight:bold}
+.af_navigationPane_buttons-separator {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding-left:6px;padding-right:6px}
+.af_navigationPane_list-bullet {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;vertical-align:middle;width:17px;background-image:url(images/list-bullet.gif);background-position:center;background-repeat:no-repeat}
+.af_navigationPane_tabs {height:26px;overflow:hidden}
+.af_navigationPane_tabs-active.p_AFDisabled,.af_navigationPane_tabs-inactive.p_AFDisabled {cursor:default;color:gray}
+.af_navigationPane_tabs-start,.af_navigationPane_tabs-start-join {height:22px;width:26px;background-position:top right}
+.af_navigationPane_tabs-start-join-from-active,.af_navigationPane_tabs-start-join-from-inactive {height:22px;width:14px;background-repeat:no-repeat}
+.af_navigationPane_tabs-mid {height:22px;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;padding-left:3px;white-space:nowrap}
+.af_navigationPane_tabs-end-join-to-inactive {height:22px;width:12px;background-repeat:no-repeat}
+.af_navigationPane_tabs-end {height:22px;width:15px}
+.af_navigationPane_tabs-bottom-start,.af_navigationPane_tabs-bottom-mid,.af_navigationPane_tabs-bottom-end {height:4px;background-repeat:repeat-x}
+.af_navigationPane_tabs-bottom-start-content {height:4px;width:17px;background-repeat:no-repeat}
+.af_navigationPane_tabs-bottom-mid-content {height:4px}
+.af_navigationPane_tabs-bottom-end-content {height:4px;width:100%;background-repeat:no-repeat}
+.af_navigationPane_tabs-mid A {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;text-decoration:none}
+.af_navigationPane_tabs-bottom-end-join {background-repeat:repeat-x}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-start {background-image:url(images/tab3-start-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-start-join {background-image:url(images/tab3-start-join-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-start,.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-mid,.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-end {background-image:url(images/tab3-bot-mid-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-start-content {background-image:url(images/tab3-bot-start-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-mid {background-image:url(images/tab3-mid-selected.gif);font-weight:bold}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-end-join-to-inactive {background-image:url(images/tab3-end-join-selected-to-deselected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-end {background-image:url(images/tab3-end-selected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-end-join,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-start,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-mid,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-end,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-end-join {background-image:url(images/tab3-bot-deselected.gif)}
+.af_navigationPane_tabs-active .af_navigationPane_tabs-bottom-end-content {background-image:url(images/tab3-bot-end-selected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-start {background-image:url(images/tab3-start-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-start-content,.af_navigationPane_tabs-inactive .af_navigationPane_tabs-bottom-end-content {background-image:none}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-start-join-from-active {background-image:url(images/tab3-start-join-selected-to-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-start-join-from-inactive {background-image:url(images/tab3-start-join-deselected-to-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-mid {color:#000000;background-image:url(images/tab3-mid-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-end-join-to-inactive {background-image:url(images/tab3-end-join-deselected-to-deselected.gif)}
+.af_navigationPane_tabs-inactive .af_navigationPane_tabs-end {background-image:url(images/tab3-end-deselected.gif)}
+.af_panelFormLayout_column,.p_OraTreeIcon {vertical-align:top}
+.af_panelFormLayout_separator {background-color:gray;height:1px;font-size:1px;margin-top:3px;margin-bottom:3px}
+.af_panelFormLayout_cell,.af_panelFormLayout_content-cell,.af_panelFormLayout_message-cell {padding:0px}
+.af_panelFormLayout_label-stacked-cell {padding:0px;text-align:left}
+.af_panelBox_transparent img,.af_panelBox_light img,.af_panelBox_medium img,.af_panelBox_dark img,.af_selectManyShuttle_box-content img,.af_selectOrderShuttle_box-content img,.af_menuBar img,.af_messages img,.af_menuTabs img {vertical-align:bottom}
+.af_panelBox_light .af_panelBox_body,.af_selectManyShuttle_box-content .af_selectManyShuttle_box-body,.af_selectOrderShuttle_box-content .af_selectOrderShuttle_box-body,.af_panelSideBar_body,.OraBGAccentLight,.PortletBodyColor,.PortletSubHeaderColor,.af_messages_body {background-color:#e9e8e8}
+.af_panelBox_medium .af_panelBox_body,.OraBGAccentMedium {background-color:#ffffcc}
+.af_panelBox_dark .af_panelBox_body,.OraBGAccentDark {background-color:#CCCCCC}
+.af_panelBox_header,.PortletHeaderColor {width:100%;background-repeat:repeat-x}
+.af_panelBox_light .af_panelBox_header {background-color:#99cc99;color:#ffffff}
+.af_panelPage_copyright,.af_panelPage_privacy,.af_panelPage_about {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#000000;white-space:nowrap}
+.af_panelPage_copyright A,.af_panelPage_privacy A,.af_panelPage_about A,.af_train_link,.af_panelTabbed_tab A,.p_OraTreeRow A:link,.p_OraTreeRow A:active,.p_OraTreeRow A:visited {color:#003333}
+.af_panelCaptionGroup {border-color:#e9e8e8}
+.af_panelCaptionGroup_caption,.OraPageStampLabel,.OraTableControlBarText,.p_OraTreeRowSelected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#669966}
+.af_panelPopup_trigger {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#003333;text-decoration:none;white-space:nowrap}
+.af_panelPopup_close-icon {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;font-weight:normal;text-align:right;padding-left:5px}
+.af_menuBar {background-color:#669966;color:#ffffff;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;min-height:4px}
+.af_menuBar_enabled,.af_menuBar_selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;white-space:nowrap}
+.af_menuBar_enabled A,.af_menuBar_selected A {color:#ffffff}
+.af_menuBar_separator {color:#ffffff;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal}
+.af_treeTable_expansion {color:#669966;position:absolute;top:0px;left:-18px}
+.af_treeTable_focus {font-size:10pt;font-weight:normal;color:#669966;font-family:monospace}
+.af_treeTable_locator {font-size:10pt;font-weight:normal;color:#999999;font-family:monospace}
+.af_showOnePanel_container {border-color:#999999;border-width:0px 1px 1px 1px;border-style:solid}
+.af_showOnePanel_header-collapsed {border-color:#999999;height:21px;text-decoration:none;white-space:nowrap;padding-right:5px;border-width:1px 0px 0px 0px;border-style:solid;cursor:pointer;padding-left:5px}
+.af_showOnePanel_header-expanded {border-color:#999999;height:21px;text-decoration:none;white-space:nowrap;padding-right:5px;border-style:solid;border-width:1px 0px 1px 0px;padding-left:2px}
+.af_showOnePanel_header-disabled {border-color:#999999;height:21px;text-decoration:none;white-space:nowrap;padding-right:5px;border-style:solid;border-width:1px 0px 0px 0px;padding-left:18px}
+.af_showOnePanel_content {vertical-align:top;margin:5px}
+.af_showOnePanel_title-link {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;background:transparent;color:#669966;display:block;padding-top:2px;text-decoration:none}
+.af_showOnePanel_title-disabled-link {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#999999;display:block;padding-top:2px;text-decoration:none}
+.AFHeaderLevelOne,H1.af_panelHeader,H1.af_showDetailHeader,.af_messages_header,.PortletHeaderText,.PortletHeading1,.PortletSubHeaderText,.portlet-section-header,.portlet-section-subheader,.portlet-table-header,.portlet-table-subheader {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:normal;color:#669966}
+.AFHeaderLevelTwo,H2.af_panelHeader,H2.af_showDetailHeader,.PortletHeading2 {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:11pt;font-weight:normal;color:#669966}
+.af_panelHeader_error,.af_messages_error,.portlet-msg-error {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:normal;color:#cc0000}
+.af_messages {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#336633;width:100%}
+.af_messages_message-text,.af_messages_list,.portlet-msg-info {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#669966;margin:0px 0px 0px 0px;padding:5px 30px 5px 30px}
+.af_panelSideBar {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#336633;border-color:#999999}
+.AFSortableHeaderSortIcon {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:9pt;font-weight:normal;color:#669966}
+.af_menuTabs_enabled {background-color:#e9e8e8;white-space:nowrap}
+.af_menuTabs_selected {background-color:#669966;white-space:nowrap}
+.af_menuTabs_disabled {background-color:#e9e8e8;color:#999999;white-space:nowrap}
+.af_menuTabs_enabled A {color:#336633}
+.af_menuTabs_selected A {color:#ccffcc}
+.af_menuTabs_separator {width:0px}
+.af_table_content,.af_treeTable_content {border-collapse:collapse;border-color:#999999;border-style:solid;border-width:1px}
+.af_table_control-bar-top,.af_treeTable_control-bar-top {background-color:#e9e8e8;border-color:#999999;border-style:solid;border-width:1px 1px 0px;padding:1px 2px}
+.af_table_control-bar-bottom,.af_treeTable_control-bar-bottom {background-color:#e9e8e8;border-color:#999999;border-style:solid;border-width:0px 1px 1px;padding:1px 2px}
+.af_table_sub-control-bar,.af_treeTable_sub-control-bar {border-color:#999999;border-style:solid;border-width:1px 1px 0px;padding:1px 2px}
+.af_column_cell-text,.portlet-section-selected,.portlet-table-selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#e9e8e8;border-color:#999999}
+.af_column_cell-text-band,.portlet-section-alternate,.portlet-table-alternate {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#ffffff;border-color:#999999}
+.af_column_cell-number {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#e9e8e8;border-color:#999999;text-align:right;padding-right:2px}
+.af_column_cell-number-band {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#ffffff;border-color:#999999;text-align:right;padding-right:2px}
+.af_column_cell-icon-format,.af_tableSelectOne_cell-icon-format,.af_tableSelectMany_cell-icon-format,.OraTableCellSelect,.portlet-section-text,.portlet-table-text {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#e9e8e8;border-color:#999999;text-align:center}
+.af_column_cell-icon-format-band,.af_tableSelectOne_cell-icon-format-band,.af_tableSelectMany_cell-icon-format-band,.OraTableCellSelectBand {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;vertical-align:baseline;background-color:#ffffff;border-color:#999999;text-align:center}
+.af_column_header-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#669966;vertical-align:bottom}
+.af_column_header-number {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;text-align:right}
+.af_column_header-icon-format {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;text-align:center}
+.af_column_row-header-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:right;background-color:#CCCCCC;color:#669966}
+.af_table_detail {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#000000;border-color:#999999;background-color:#ffffff}
+.af_table_column-footer,.portlet-section-footer,.portlet-table-footer {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#669966}
+.OraTableTotal {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:right;background-color:#CCCCCC;color:#669966}
+.af_column_total-number {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:right;background-color:#CCCCCC;color:#000000;vertical-align:baseline}
+.af_column_total-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#000000;vertical-align:baseline}
+.af_column_sortable-header-text {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:left;background-color:#CCCCCC;color:#669966;vertical-align:bottom;cursor:pointer;border-width:2px;border-style:outset}
+.af_column_sortable-header-number {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;cursor:pointer;border-width:2px;border-style:outset;text-align:right}
+.af_column_sortable-header-icon-format {border-color:#999999;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#CCCCCC;color:#669966;vertical-align:bottom;cursor:pointer;border-width:2px;border-style:outset;text-align:center}
+.af_train_stop.p_AFSelected {color:#669966;font-weight:bold}
+.af_train_stop:visited,.af_train_stop:visited .af_train_link {color:#666666}
+.af_train_stop.p_AFDisabled,.af_panelTabbed_tab .p_OraDisabled {color:#999999}
+.af_train_stop.p_AFUnvisited,.p_OraContentFooterRule {color:#669966}
+.af_train_stop.p_AFDisabled .af_train_link {color:#669999}
+.OraBGColorVeryDark {background-color:#336633}
+.OraBGColorDark,.af_menuBar_body,.af_menuBar_title,.af_menuBar_empty {background-color:#669966}
+.OraBGColorMedium {background-color:#99cc99}
+.OraBGColorLight {background-color:#ccffcc}
+.OraBGGrayVeryDark {background-color:#333333}
+.OraBGGrayDark {background-color:#666666}
+.OraBGGrayMedium,.OraBGAccentVeryDark,.OraTable {background-color:#999999}
+.OraBGGrayLight {background-color:#cccccc}
+.OraInlineInfoText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#669966}
+.OraTextInline {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#99cc99}
+.OraMessageBoxErrorText,.AFErrorText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;color:#cc0000}
+.OraErrorNameText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#cc0000}
+.OraInlineErrorText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:8pt;font-weight:normal;color:#cc0000}
+.OraGlobalPageTitle {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;color:#ffffff;font-weight:bold}
+.p_OraSelected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;background-color:#ccffcc;text-decoration:none}
+.p_OraHiddenLabel {position:absolute;top:-999px;left:0px;font-size:0px}
+.p_OraColorFieldSwatch {border-color:#000000;border-style:solid;border-width:1px}
+.p_OraColorPalette {background-color:#000000}
+.p_OraColorPaletteEmptyCell {background-color:#ffffff}
+.af_inputDate_nav A,.af_chooseDate_nav A {color:#003333;text-decoration:none}
+.af_inputDate_title,.af_chooseDate_title {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:normal;text-align:center;background-color:#ffffff;color:#669966;padding:2px}
+.af_inputDate_header,.af_chooseDate_header {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;text-align:center;color:#669966;padding:2px}
+.af_inputDate_content A,.af_chooseDate_content A {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:center;color:#003333}
+.af_chooseDate_content {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:center;color:#999999;text-decoration:none;border-width:1px;border-style:solid;padding:2px}
+.p_OraContentFooterStart {float:left}
+.p_OraContentFooterBottom {clear:both;margin-bottom:5px}
+.p_OraFooter {text-align:center}
+.p_OraFooterBottom {padding-top:5px}
+.p_OraHeaderNest {margin:5px 0px 0px 12px}
+.OraHGridLocatorHeader {border-color:#999999;background-color:#e9e8e8}
+.p_OraHideShowDisclosedSymbol,.af_panelTabbed_tab-selected A,.p_OraTreeDisclosedSymbol A:link,.p_OraTreeDisclosedSymbol A:active,.p_OraTreeDisclosedSymbol A:visited,.p_OraTreeRowSelected A:link,.p_OraTreeRowSelected A:active,.p_OraTreeRowSelected A:visited {color:#669966;text-decoration:none}
+.af_messages_list-single {list-style-type:none}
+.p_OraQuickSearchBox {background-color:#e9e8e8;border-color:#CCCCCC;border-style:solid;padding:0pt 5pt 5pt 5pt;border-width:0px 0px 1px 1px}
+.p_OraGlobalQuick {border-color:#CCCCCC;border-style:solid;border-width:0px 0px 0px 1px}
+.p_OraProcessingStatus {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;color:#669966;border-color:#99cc99;border-style:solid;border-width:1px}
+.p_OraProductBrandingText {color:#669966;position:relative;font-family:Garamond, Times, Times New Roman, Serif;font-weight:normal;font-size:24pt;line-height:28.8pt;top:-4.8pt}
+.p_OraProductBrandingCompactText {color:#669966;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;margin-bottom:0px;margin-top:0px;font-weight:bold}
+.OraShuttleHeader {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:9pt;color:#669966;font-weight:bold;padding:0px 0px 0px 18px}
+.OraShuttleLinkText {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:9pt;font-weight:normal;color:#003333}
+.p_OraSideBarMinWidth {width:140px}
+.OraStyledList {list-style-position:inside;padding:0px;margin:0px}
+.OraStyledList .OraStyledList {padding:0pt 0pt 0pt 10pt}
+.af_panelTabbed_tab {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;padding:0px 8px}
+.af_panelTabbed_tab-selected {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:bold;padding:0px 8px}
+.af_panelTabbed_cell-start {width:0%}
+.af_panelTabbed_cell-end {width:100%}
+.OraTableBorder0001 {border-style:solid;border-width:0px 0px 0px 1px}
+.OraTableBorder0010 {border-style:solid;border-width:0px 0px 1px}
+.OraTableBorder0011 {border-style:solid;border-width:0px 0px 1px 1px}
+.OraTableBorder0100 {border-style:solid;border-width:0px 1px 0px 0px}
+.OraTableBorder0101 {border-style:solid;border-width:0px 1px}
+.OraTableBorder0110 {border-style:solid;border-width:0px 1px 1px 0px}
+.OraTableBorder0111 {border-style:solid;border-width:0px 1px 1px}
+.OraTableBorder1000 {border-style:solid;border-width:1px 0px 0px}
+.OraTableBorder1001 {border-style:solid;border-width:1px 0px 0px 1px}
+.OraTableBorder1010 {border-style:solid;border-width:1px 0px}
+.OraTableBorder1011 {border-style:solid;border-width:1px 0px 1px 1px}
+.OraTableBorder1100 {border-style:solid;border-width:1px 1px 0px 0px}
+.OraTableBorder1101 {border-style:solid;border-width:1px 1px 0px}
+.OraTableBorder1110 {border-style:solid;border-width:1px 1px 1px 0px}
+.OraTableBorder1111 {border-style:solid;border-width:1px}
+.OraTableTitle {font-family:Arial,Helvetica,Geneva,sans-serif;font-size:13pt;font-weight:normal;background-color:#ffffff;color:#669966}
+.p_OraTreeDisclosedSymbol {color:#669966;font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;font-weight:normal;text-align:right}
+.p_OraTreeNodeAdjust {padding-bottom:2px}
+.af_chart {width:400px;height:300px;background-color:white}
+.p_OraOnePixelLine {background-color:#CCCCCC;font-size:0pt;overflow:hidden;height:1px;width:100%}
+.p_OraDisplayBlock {display:block}
+.p_OraHideSkipNaviText {font-size:0pt;margin-top:0px;margin-left:-999px}
+.PortletHeaderLink,.PortletSubHeaderLink {color:#ffffff;text-decoration:none}
+.AFLogo {width:103px;height:13px;background-repeat:no-repeat;background-position:center;vertical-align:middle;background-image:url(images/logo-dark.gif)}
+body {margin-top:8px}
+.p_OraNav2 {border-color:#99cc99}
+.af_navigationPane {height:25px}
+/* The number of CSS selectors in this file is 548 */
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/245427358.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/245427358.index
new file mode 100644
index 0000000..b97c052
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/245427358.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/2514761369.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/2514761369.index
new file mode 100644
index 0000000..7c955f0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/jspsearch/2514761369.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/1983060498.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/1983060498.dat
new file mode 100644
index 0000000..4e6c192
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/1983060498.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2002458221.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2002458221.dat
new file mode 100644
index 0000000..4e6c192
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2002458221.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2943851965.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2943851965.dat
new file mode 100644
index 0000000..4e6c192
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2943851965.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2958935316.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2958935316.dat
new file mode 100644
index 0000000..4e6c192
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/2958935316.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/3900397539.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/3900397539.dat
new file mode 100644
index 0000000..4e6c192
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/3900397539.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.consumption.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.consumption.ui/dialog_settings.xml
new file mode 100644
index 0000000..5ca0b77
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.consumption.ui/dialog_settings.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.core/JAXRSLibraryRegistry.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.core/JAXRSLibraryRegistry.xml
new file mode 100644
index 0000000..68a441a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.core/JAXRSLibraryRegistry.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<jaxrslibreg:JAXRSLibraryRegistry xmlns:jaxrslibreg="http://www.eclipse.org/webtools/jaxrs/schema/jaxrslibraryregistry.xsd"/>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.ui/dialog_settings.xml
new file mode 100644
index 0000000..5ca0b77
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.ui/dialog_settings.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2019/11/47/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2019/11/47/refactorings.history
new file mode 100644
index 0000000..9fa65ba
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2019/11/47/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Delete resource &apos;glemm&apos;" deleteContents="false" description="Delete resource &apos;glemm&apos;" element1="/glemm" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574265073971"/>&#x0A;<refactoring comment="Delete resource &apos;GLEMM-Service&apos;" deleteContents="false" description="Delete resource &apos;GLEMM-Service&apos;" element1="/GLEMM-Service" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574265158852"/>&#x0A;<refactoring comment="Delete resource &apos;GLEMM-Services&apos;" deleteContents="false" description="Delete resource &apos;GLEMM-Services&apos;" element1="/GLEMM-Services" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574265164542"/>&#x0A;<refactoring comment="Delete resource &apos;GlemmServices&apos;" deleteContents="false" description="Delete resource &apos;GlemmServices&apos;" element1="/GlemmServices" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574265168521"/>&#x0A;<refactoring comment="Delete resource &apos;GlemmServices&apos;" deleteContents="false" description="Delete resource &apos;GlemmServices&apos;" element1="/GlemmServices" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574265593768"/>&#x0A;<refactoring comment="Delete resource &apos;Guest&apos;" deleteContents="false" description="Delete resource &apos;Guest&apos;" element1="/Guest" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574265599467"/>&#x0A;<refactoring comment="Delete resource &apos;GLEMM-Services&apos;" deleteContents="false" description="Delete resource &apos;GLEMM-Services&apos;" element1="/GLEMM-Services" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574325886153"/>&#x0A;<refactoring comment="Delete resource &apos;glemm&apos;" deleteContents="false" description="Delete resource &apos;glemm&apos;" element1="/glemm" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1574325911776"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2019/11/47/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2019/11/47/refactorings.index
new file mode 100644
index 0000000..684f6d0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2019/11/47/refactorings.index
@@ -0,0 +1,8 @@
+1574265073971	Delete resource 'glemm'
+1574265158852	Delete resource 'GLEMM-Service'
+1574265164542	Delete resource 'GLEMM-Services'
+1574265168521	Delete resource 'GlemmServices'
+1574265593768	Delete resource 'GlemmServices'
+1574265599467	Delete resource 'Guest'
+1574325886153	Delete resource 'GLEMM-Services'
+1574325911776	Delete resource 'glemm'
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/4/17/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/4/17/refactorings.history
new file mode 100644
index 0000000..afc8523
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/4/17/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Delete resource &apos;JsonTraverse&apos;" deleteContents="true" description="Delete resource &apos;JsonTraverse&apos;" element1="/JsonTraverse" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1587577113380"/>&#x0A;<refactoring comment="Rename resource &apos;wformServices&apos; to &apos;wformServices-wrong&apos;" description="Rename resource &apos;wformServices&apos;" flags="7" id="org.eclipse.ltk.core.refactoring.rename.resource" input="/wformServices" name="wformServices-wrong" stamp="1587741095498" updateReferences="true"/>&#x0A;<refactoring comment="Rename resource &apos;wformServices2&apos; to &apos;wformServices&apos;" description="Rename resource &apos;wformServices2&apos;" flags="7" id="org.eclipse.ltk.core.refactoring.rename.resource" input="/wformServices2" name="wformServices" stamp="1587741108495" updateReferences="true"/>&#x0A;<refactoring comment="Delete resource &apos;wformServices-wrong&apos;" deleteContents="true" description="Delete resource &apos;wformServices-wrong&apos;" element1="/wformServices-wrong" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1587742769540"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/4/17/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/4/17/refactorings.index
new file mode 100644
index 0000000..040b0ab
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/4/17/refactorings.index
@@ -0,0 +1,4 @@
+1587577113380	Delete resource 'JsonTraverse'
+1587741095498	Rename resource 'wformServices'
+1587741108495	Rename resource 'wformServices2'
+1587742769540	Delete resource 'wformServices-wrong'
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/6/25/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/6/25/refactorings.history
new file mode 100644
index 0000000..571d2f5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/6/25/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring comment="Rename Java project &apos;GlemmServices2&apos; to &apos;GlemmServices&apos;&#x0D;&#x0A;- Original element: &apos;GlemmServices2&apos;&#x0D;&#x0A;- Renamed element: &apos;GlemmServices2&apos;&#x0D;&#x0A;- Update references to refactored element" description="Rename Java project &apos;GlemmServices2&apos;" flags="7" id="org.eclipse.jdt.ui.rename.java.project" input="=GlemmServices2" name="GlemmServices" references="true" stamp="1592417336283" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/6/25/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/6/25/refactorings.index
new file mode 100644
index 0000000..cbb846c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2020/6/25/refactorings.index
@@ -0,0 +1 @@
+1592417336283	Rename Java project 'GlemmServices2'
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/9/39/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/9/39/refactorings.history
new file mode 100644
index 0000000..175324f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/9/39/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Delete resource &apos;GlemmClient&apos;" deleteContents="false" description="Delete resource &apos;GlemmClient&apos;" element1="/GlemmClient" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1632813721223"/>&#x0A;<refactoring comment="Delete resource &apos;GlemmServices&apos;" deleteContents="false" description="Delete resource &apos;GlemmServices&apos;" element1="/GlemmServices" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1632813973712"/>&#x0A;<refactoring comment="Delete resource &apos;JsonTraverse&apos;" deleteContents="false" description="Delete resource &apos;JsonTraverse&apos;" element1="/JsonTraverse" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1632815112918"/>&#x0A;<refactoring comment="Delete resource &apos;Tests&apos;" deleteContents="false" description="Delete resource &apos;Tests&apos;" element1="/Tests" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1632815155747"/>&#x0A;<refactoring comment="Delete resource &apos;Utils&apos;" deleteContents="false" description="Delete resource &apos;Utils&apos;" element1="/Utils" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1632815185157"/>&#x0A;<refactoring comment="Delete resource &apos;wformServiceJar&apos;" deleteContents="false" description="Delete resource &apos;wformServiceJar&apos;" element1="/wformServiceJar" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1632815213123"/>&#x0A;<refactoring comment="Delete resource &apos;wformServices&apos;" deleteContents="false" description="Delete resource &apos;wformServices&apos;" element1="/wformServices" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1632815231196"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/9/39/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/9/39/refactorings.index
new file mode 100644
index 0000000..7e234f1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/9/39/refactorings.index
@@ -0,0 +1,7 @@
+1632813721223	Delete resource 'GlemmClient'
+1632813973712	Delete resource 'GlemmServices'
+1632815112918	Delete resource 'JsonTraverse'
+1632815155747	Delete resource 'Tests'
+1632815185157	Delete resource 'Utils'
+1632815213123	Delete resource 'wformServiceJar'
+1632815231196	Delete resource 'wformServices'
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/4/17/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/4/17/refactorings.history
new file mode 100644
index 0000000..c754e84
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/4/17/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;GlemmClient&apos;&#x0D;&#x0A;- Original project: &apos;GlemmClient&apos;&#x0D;&#x0A;- Original element: &apos;GlemmClient/src/GlemmClientSrc&apos;" description="Delete element" element1="/src&lt;GlemmClientSrc" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1587551726001" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;GlemmClient&apos;&#x0D;&#x0A;- Original project: &apos;GlemmClient&apos;&#x0D;&#x0A;- Original element: &apos;GlemmClient/src/GlemmClientSrc&apos;" description="Delete element" element1="/src&lt;GlemmClientSrc" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1587551789275" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;GlemmClient&apos;&#x0D;&#x0A;- Original project: &apos;GlemmClient&apos;&#x0D;&#x0A;- Original element: &apos;GlemmClient/src/GlemmClientSrc&apos;" description="Delete element" element1="/src&lt;GlemmClientSrc" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1587551827716" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/4/17/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/4/17/refactorings.index
new file mode 100644
index 0000000..9353aba
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/4/17/refactorings.index
@@ -0,0 +1,3 @@
+1587551726001	Delete element
+1587551789275	Delete element
+1587551827716	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/5/19/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/5/19/refactorings.history
new file mode 100644
index 0000000..c9b9a57
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/5/19/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring accessors="true" comment="Delete element from project &apos;GlemmClient&apos;&#x0D;&#x0A;- Original project: &apos;GlemmClient&apos;&#x0D;&#x0A;- Original element: &apos;GlemmClient-0.0.1-SNAPSHOT.jar&apos;" description="Delete element" element1="target/GlemmClient-0.0.1-SNAPSHOT.jar" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1588609472265" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/5/19/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/5/19/refactorings.index
new file mode 100644
index 0000000..c47eae2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmClient/2020/5/19/refactorings.index
@@ -0,0 +1 @@
+1588609472265	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/11/47/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/11/47/refactorings.history
new file mode 100644
index 0000000..616451d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/11/47/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring comment="Move package &apos;de.korap.services&apos; to &apos;GlemmServices/src/main/resources&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices&apos;&#x0D;&#x0A;- Destination element: &apos;GlemmServices/src/main/resources&apos;&#x0D;&#x0A;- Original element: &apos;GlemmServices/src/main/java/de.korap.services&apos;&#x0D;&#x0A;- Update references to refactored element" description="Move package" destination="/src\/main\/resources" element1="/src\/main\/java&lt;de.korap.services" flags="589830" fragments="1" id="org.eclipse.jdt.ui.move" policy="org.eclipse.jdt.ui.movePackages" stamp="1574411533090" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/11/47/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/11/47/refactorings.index
new file mode 100644
index 0000000..796e730
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/11/47/refactorings.index
@@ -0,0 +1 @@
+1574411533090	Move package
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/12/49/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/12/49/refactorings.history
new file mode 100644
index 0000000..48d0aea
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/12/49/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;GlemmServices&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices&apos;&#x0D;&#x0A;- Original element: &apos;web.xml&apos;" description="Delete element" element1="src/main/webapp/WEB-INF/web.xml" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1575628395632" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;GlemmServices&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices&apos;&#x0D;&#x0A;- Original element: &apos;web.xml.v1&apos;" description="Delete element" element1="src/main/webapp/WEB-INF/web.xml.v1" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1575628399446" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/12/49/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/12/49/refactorings.index
new file mode 100644
index 0000000..d0e60e1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2019/12/49/refactorings.index
@@ -0,0 +1,2 @@
+1575628395632	Delete element
+1575628399446	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2021/10/41/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2021/10/41/refactorings.history
new file mode 100644
index 0000000..4447425
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2021/10/41/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;GlemmServices&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices&apos;&#x0D;&#x0A;- Original element: &apos;GlemmServices.properties&apos;" description="Delete element" element1="resources/GlemmServices.properties" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1634226608984" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;GlemmServices&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices&apos;&#x0D;&#x0A;- Original element: &apos;resources&apos;" description="Delete element" element1="resources" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1634226615479" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2021/10/41/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2021/10/41/refactorings.index
new file mode 100644
index 0000000..0123668
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices/2021/10/41/refactorings.index
@@ -0,0 +1,2 @@
+1634226608984	Delete element
+1634226615479	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/4/17/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/4/17/refactorings.history
new file mode 100644
index 0000000..d72987a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/4/17/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Move element &apos;WordformServices.java&apos; to &apos;wformServices/src&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices2&apos;&#x0D;&#x0A;- Destination element: &apos;wformServices/src&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.WordformServices.java&apos;&#x0D;&#x0A;- Update references to refactored element" description="Move compilation unit" destination="=wformServices/src" element1="/src&lt;de.korap.services{WordformServices.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" policy="org.eclipse.jdt.ui.moveResources" qualified="false" references="true" stamp="1587636827416" units="1" version="1.0"/>&#x0A;<refactoring comment="Move element &apos;GlemmUtils.java&apos; to &apos;Utils/src/de.korap.services.utils&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices2&apos;&#x0D;&#x0A;- Destination element: &apos;Utils/src/de.korap.services.utils&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.GlemmUtils.java&apos;&#x0D;&#x0A;- Update references to refactored element" description="Move compilation unit" destination="=Utils/src&lt;de.korap.services.utils" element1="/src&lt;de.korap.services{GlemmUtils.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" patterns="*" policy="org.eclipse.jdt.ui.moveResources" qualified="false" references="true" stamp="1587734176367" units="1" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/4/17/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/4/17/refactorings.index
new file mode 100644
index 0000000..6079381
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/4/17/refactorings.index
@@ -0,0 +1,2 @@
+1587636827416	Move compilation unit
+1587734176367	Move compilation unit
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/6/25/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/6/25/refactorings.history
new file mode 100644
index 0000000..11ea65b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/6/25/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring comment="Move element &apos;LemmaResponse.java&apos; to &apos;JsonTraverse/src&apos;&#x0D;&#x0A;- Original project: &apos;GlemmServices2&apos;&#x0D;&#x0A;- Destination element: &apos;JsonTraverse/src&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.LemmaResponse.java&apos;&#x0D;&#x0A;- Update references to refactored element" description="Move compilation unit" destination="=JsonTraverse/src" element1="/src&lt;de.korap.services{LemmaResponse.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.move" policy="org.eclipse.jdt.ui.moveResources" qualified="false" references="true" stamp="1592313526138" units="1" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/6/25/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/6/25/refactorings.index
new file mode 100644
index 0000000..2e45de5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/GlemmServices2/2020/6/25/refactorings.index
@@ -0,0 +1 @@
+1592313526138	Move compilation unit
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/17/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/17/refactorings.history
new file mode 100644
index 0000000..06fb768
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/17/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/GlemClientClasses&apos;" description="Delete element" element1="/GlemClientClasses" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1587487221457" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/GlemClientSrc&apos;" description="Delete element" element1="/GlemClientSrc" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1587551575362" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;services&apos;" description="Delete element" element1="services" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1587571760680" subPackages="false" version="1.0"/>&#x0A;<refactoring comment="Move package &apos;de.korap.json&apos; to &apos;JsonTraverse/src&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Destination element: &apos;JsonTraverse/src&apos;&#x0D;&#x0A;- Original element: &apos;Tests/src/de.korap.json&apos;&#x0D;&#x0A;- Update references to refactored element" description="Move package" destination="=JsonTraverse/src" element1="/src&lt;de.korap.json" flags="589830" fragments="1" id="org.eclipse.jdt.ui.move" policy="org.eclipse.jdt.ui.movePackages" stamp="1587577546423" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/17/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/17/refactorings.index
new file mode 100644
index 0000000..2d43399
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/17/refactorings.index
@@ -0,0 +1,4 @@
+1587487221457	Delete element
+1587551575362	Delete element
+1587571760680	Delete element
+1587577546423	Move package
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/18/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/18/refactorings.history
new file mode 100644
index 0000000..ef472e1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/18/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/GlemmClientSrc&apos;" description="Delete element" element1="/GlemmClientSrc" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588184110308" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/18/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/18/refactorings.index
new file mode 100644
index 0000000..6085383
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/4/18/refactorings.index
@@ -0,0 +1 @@
+1588184110308	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/19/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/19/refactorings.history
new file mode 100644
index 0000000..8a0238f
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/19/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/src/de.korap.json&apos;" description="Delete element" element1="/src&lt;de.korap.json" element2="/src&lt;de.korap" element3="/src&lt;de" elements="3" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588661383394" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/json&apos;" description="Delete element" element1="/json" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588661744407" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/json&apos;" description="Delete element" element1="/json" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588661821395" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/json/korap.json&apos;" description="Delete element" element1="/json&lt;korap.json" element2="/json&lt;korap" elements="2" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588662741669" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/json&apos;" description="Delete element" element1="/json" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588662835324" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/Json&apos;" description="Delete element" element1="/Json" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588663380668" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/srcJson&apos;" description="Delete element" element1="/srcJson" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588663645196" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/srcJson&apos;" description="Delete element" element1="/srcJson" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588663742406" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/classes&apos;" description="Delete element" element1="/classes" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588672530217" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/src-GlemmServices&apos;" description="Delete element" element1="/src-GlemmServices" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588673134225" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;Tests/src-json&apos;" description="Delete element" element1="/src-json" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588673162014" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;WordformServices.java&apos;" description="Delete element" element1="/src&lt;{WordformServices.java" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1588836838496" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/19/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/19/refactorings.index
new file mode 100644
index 0000000..8ec0464
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/19/refactorings.index
@@ -0,0 +1,12 @@
+1588661383394	Delete element
+1588661744407	Delete element
+1588661821395	Delete element
+1588662741669	Delete element
+1588662835324	Delete element
+1588663380668	Delete element
+1588663645196	Delete element
+1588663742406	Delete element
+1588672530217	Delete element
+1588673134225	Delete element
+1588673162014	Delete element
+1588836838496	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/20/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/20/refactorings.history
new file mode 100644
index 0000000..8e2b965
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/20/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring accessors="true" comment="Delete element from project &apos;Tests&apos;&#x0D;&#x0A;- Original project: &apos;Tests&apos;&#x0D;&#x0A;- Original element: &apos;src-wformServices&apos;" description="Delete element" element1="src-wformServices" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1589303202880" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/20/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/20/refactorings.index
new file mode 100644
index 0000000..3272162
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Tests/2020/5/20/refactorings.index
@@ -0,0 +1 @@
+1589303202880	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Utils/2020/4/17/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Utils/2020/4/17/refactorings.history
new file mode 100644
index 0000000..e737fc3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Utils/2020/4/17/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring comment="Rename type &apos;de.korap.services.utils.GlemmUtils&apos; to &apos;Utils&apos;&#x0D;&#x0A;- Original project: &apos;Utils&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.utils.GlemmUtils&apos;&#x0D;&#x0A;- Renamed element: &apos;de.korap.services.utils.Utils&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;GlemmUtils&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;de.korap.services.utils{GlemmUtils.java[GlemmUtils" matchStrategy="1" name="Utils" qualified="false" references="true" similarDeclarations="false" stamp="1587738076630" textual="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Utils/2020/4/17/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Utils/2020/4/17/refactorings.index
new file mode 100644
index 0000000..35cd9b6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/Utils/2020/4/17/refactorings.index
@@ -0,0 +1 @@
+1587738076630	Rename type 'GlemmUtils'
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServiceJar/2020/5/20/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServiceJar/2020/5/20/refactorings.history
new file mode 100644
index 0000000..323e407
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServiceJar/2020/5/20/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;wformServiceJar&apos;&#x0D;&#x0A;- Original project: &apos;wformServiceJar&apos;&#x0D;&#x0A;- Original element: &apos;wformServiceJar/services&apos;" description="Delete element" element1="/services" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1589280704085" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;wformServiceJar&apos;&#x0D;&#x0A;- Original project: &apos;wformServiceJar&apos;&#x0D;&#x0A;- Original element: &apos;wformServiceJar/services&apos;" description="Delete element" element1="/services" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1589280748226" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;wformServiceJar&apos;&#x0D;&#x0A;- Original project: &apos;wformServiceJar&apos;&#x0D;&#x0A;- Original element: &apos;wformServiceJar/src&apos;" description="Delete element" element1="/src" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1589565085063" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServiceJar/2020/5/20/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServiceJar/2020/5/20/refactorings.index
new file mode 100644
index 0000000..c97dde6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServiceJar/2020/5/20/refactorings.index
@@ -0,0 +1,3 @@
+1589280704085	Delete element
+1589280748226	Delete element
+1589565085063	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices-wrong/2020/4/17/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices-wrong/2020/4/17/refactorings.history
new file mode 100644
index 0000000..c38199d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices-wrong/2020/4/17/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring comment="Move element &apos;&apos; to &apos;de.korap.services.wformRewrite&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Destination element: &apos;de.korap.services.wformRewrite&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.WordformServices.traverse_and_rewrite_KoralQuery(...)&apos;&#x0D;&#x0A;- Textual move only&#x0D;&#x0A;- Update references to refactored element" description="Move method" destination="/src&lt;de.korap.services{wformRewrite.java[wformRewrite" element1="/src&lt;de.korap.services{WordformServices.java[WordformServices~traverse_and_rewrite_KoralQuery~QString;" flags="589830" id="org.eclipse.jdt.ui.move" members="1" policy="org.eclipse.jdt.ui.moveMembers" stamp="1587715762999" version="1.0"/>&#x0A;<refactoring comment="Move element &apos;&apos; to &apos;de.korap.services.wformRewrite&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Destination element: &apos;de.korap.services.wformRewrite&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.WordformServices.traverse_and_rewrite_KoralQuery_2(...)&apos;&#x0D;&#x0A;- Textual move only&#x0D;&#x0A;- Update references to refactored element" description="Move method" destination="/src&lt;de.korap.services{wformRewrite.java[wformRewrite" element1="/src&lt;de.korap.services{WordformServices.java[WordformServices~traverse_and_rewrite_KoralQuery_2~QString;" flags="589830" id="org.eclipse.jdt.ui.move" members="1" policy="org.eclipse.jdt.ui.moveMembers" stamp="1587715768099" version="1.0"/>&#x0A;<refactoring comment="Move element &apos;&apos; to &apos;de.korap.services.wformRewrite&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Destination element: &apos;de.korap.services.wformRewrite&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.WordformServices.traverseJsonTree(...)&apos;&#x0D;&#x0A;- Textual move only&#x0D;&#x0A;- Update references to refactored element" description="Move method" destination="/src&lt;de.korap.services{wformRewrite.java[wformRewrite" element1="/src&lt;de.korap.services{WordformServices.java[WordformServices~traverseJsonTree~QJsonNode;" flags="589830" id="org.eclipse.jdt.ui.move" members="1" policy="org.eclipse.jdt.ui.moveMembers" stamp="1587715772711" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;de.korap.services.wformRewrite&apos; to &apos;WformRewrite&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.wformRewrite&apos;&#x0D;&#x0A;- Renamed element: &apos;de.korap.services.WformRewrite&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;wformRewrite&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;de.korap.services{wformRewrite.java[wformRewrite" matchStrategy="1" name="WformRewrite" qualified="false" references="true" similarDeclarations="false" stamp="1587716667740" textual="false" version="1.0"/>&#x0A;<refactoring comment="Rename type &apos;de.korap.services.WformRewrite&apos; to &apos;WordformRewrite&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.WformRewrite&apos;&#x0D;&#x0A;- Renamed element: &apos;de.korap.services.WordformRewrite&apos;&#x0D;&#x0A;- Update references to refactored element&#x0D;&#x0A;- Update textual occurrences in comments and strings" description="Rename type &apos;WformRewrite&apos;" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src&lt;de.korap.services{WformRewrite.java[WformRewrite" matchStrategy="1" name="WordformRewrite" qualified="false" references="true" similarDeclarations="false" stamp="1587738909304" textual="false" version="1.0"/>&#x0A;<refactoring comment="Move package &apos;de.korap.services&apos; to &apos;wformServices2/src&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Destination element: &apos;wformServices2/src&apos;&#x0D;&#x0A;- Original element: &apos;wformServices/src/de.korap.services&apos;&#x0D;&#x0A;- Update references to refactored element" description="Move package" destination="=wformServices2/src" element1="/src&lt;de.korap.services" flags="589830" fragments="1" id="org.eclipse.jdt.ui.move" policy="org.eclipse.jdt.ui.movePackages" stamp="1587741008400" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices-wrong/2020/4/17/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices-wrong/2020/4/17/refactorings.index
new file mode 100644
index 0000000..ee5e21a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices-wrong/2020/4/17/refactorings.index
@@ -0,0 +1,6 @@
+1587715762999	Move method
+1587715768099	Move method
+1587715772711	Move method
+1587716667740	Rename type 'wformRewrite'
+1587738909304	Rename type 'WformRewrite'
+1587741008400	Move package
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/5/19/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/5/19/refactorings.history
new file mode 100644
index 0000000..0de86fa
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/5/19/refactorings.history
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">
+<refactoring comment="Copy element &apos;WordformServices.java&apos; to &apos;Tests/src&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Destination element: &apos;Tests/src&apos;&#x0D;&#x0A;- Original element: &apos;de.korap.services.WordformServices.java&apos;" description="Copy compilation unit" destination="=Tests/src" element1="/src&lt;de.korap.services{WordformServices.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1588836798259" units="1" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/5/19/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/5/19/refactorings.index
new file mode 100644
index 0000000..68a46f5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/5/19/refactorings.index
@@ -0,0 +1 @@
+1588836798259	Copy compilation unit
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/6/25/refactorings.history b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/6/25/refactorings.history
new file mode 100644
index 0000000..0be2bd6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/6/25/refactorings.history
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<session version="1.0">&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;wformServices&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Original element: &apos;wformServices/src-GlemmServices&apos;" description="Delete element" element1="/src-GlemmServices" elements="1" flags="589830" id="org.eclipse.jdt.ui.delete" resources="0" stamp="1592298312338" subPackages="false" version="1.0"/>&#x0A;<refactoring accessors="true" comment="Delete element from project &apos;wformServices&apos;&#x0D;&#x0A;- Original project: &apos;wformServices&apos;&#x0D;&#x0A;- Original element: &apos;wformServices-0.1-SNAPSHOT&apos;" description="Delete element" element1="target/wformServices-0.1-SNAPSHOT" elements="0" flags="589830" id="org.eclipse.jdt.ui.delete" resources="1" stamp="1592313377784" subPackages="false" version="1.0"/>
+</session>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/6/25/refactorings.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/6/25/refactorings.index
new file mode 100644
index 0000000..1f468c4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/wformServices/2020/6/25/refactorings.index
@@ -0,0 +1,2 @@
+1592298312338	Delete element
+1592313377784	Delete element
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
new file mode 100644
index 0000000..3fae868
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="RefactoringWizard.preview">
+		<item value="600" key="width"/>
+		<item value="400" key="height"/>
+	</section>
+	<section name="org.eclipse.ltk.ui.refactoring.settings">
+		<item value="false" key="deleteSubPackages"/>
+		<item value="false" key="moveWizard.updateQualifiedNames"/>
+		<item value="*" key="patterns"/>
+	</section>
+	<section name="InferTypeArguments">
+		<item value="true" key="leaveUnconstrainedRaw"/>
+		<item value="true" key="assumeCloneReturnsSameType"/>
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core.ui/dialog_settings.xml
new file mode 100644
index 0000000..c9732fc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core.ui/dialog_settings.xml
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="org.eclipse.m2e.core.pom.dependencies">
+	</section>
+	<section name="MavenProjectWizardArchetypePage">
+		<item value="All Catalogs" key="catalog"/>
+		<list key="projectNameTemplate">
+			<item value="[artifactId]"/>
+			<item value="[artifactId]-TRUNK"/>
+			<item value="[artifactId]-[version]"/>
+			<item value="[groupId].[artifactId]"/>
+			<item value="[groupId].[artifactId]-[version]"/>
+			<item value="[name]"/>
+		</list>
+	</section>
+	<section name="wizardPage">
+		<list key="groupId">
+			<item value="de.korap.services"/>
+			<item value="Utils"/>
+			<item value="wformServices"/>
+			<item value="JsonTraverse"/>
+			<item value="GlemmClient"/>
+			<item value="GlemmServices2"/>
+		</list>
+		<list key="name">
+			<item value="WformServices-Jar"/>
+			<item value="wformServices"/>
+			<item value="Utils"/>
+			<item value="JsonTraverse"/>
+			<item value="Glemm Client library"/>
+			<item value="GlemmServices"/>
+		</list>
+		<list key="artifactId">
+			<item value="wformServiceJar"/>
+			<item value="wformServices"/>
+			<item value="Utils"/>
+			<item value="JsonTraverse"/>
+			<item value="GlemmClient"/>
+			<item value="GlemmServices2"/>
+		</list>
+		<list key="version">
+			<item value="0.1-SNAPSHOT"/>
+			<item value="0.0.1-SNAPSHOT"/>
+		</list>
+	</section>
+	<section name="MavenModuleWizardParentPage">
+		<list key="moduleName">
+		</list>
+		<list key="projectNameTemplate">
+			<item value="[artifactId]"/>
+			<item value="[artifactId]-TRUNK"/>
+			<item value="[artifactId]-[version]"/>
+			<item value="[groupId].[artifactId]"/>
+			<item value="[groupId].[artifactId]-[version]"/>
+			<item value="[name]"/>
+		</list>
+	</section>
+	<section name="org.eclipse.m2e.core.ui.internal.wizards.CustomArchetypeDialog">
+	</section>
+	<section name="MavenProjectWizardArtifactPage">
+		<list key="groupId">
+			<item value="de.korap.services"/>
+		</list>
+		<list key="name">
+		</list>
+		<list key="artifactId">
+			<item value="GlemmServices2"/>
+		</list>
+		<list key="projectNameTemplate">
+			<item value="[artifactId]"/>
+			<item value="[artifactId]-TRUNK"/>
+			<item value="[artifactId]-[version]"/>
+			<item value="[groupId].[artifactId]"/>
+			<item value="[groupId].[artifactId]-[version]"/>
+			<item value="[name]"/>
+		</list>
+		<list key="version">
+			<item value="0.0.1-SNAPSHOT"/>
+		</list>
+	</section>
+	<section name="org.eclipse.m2e.core.pom.overview">
+		<list key="ciManagementUrl">
+		</list>
+		<list key="ciManagementSystem">
+		</list>
+		<list key="issueManagementSystem">
+		</list>
+		<list key="issueManagementUrl">
+		</list>
+	</section>
+	<section name="org.eclipse.m2e.core.ui.internal.dialogs.EditDependencyDialog">
+		<item value="480" key="width"/>
+		<item value="720" key="x"/>
+		<item value="220" key="y"/>
+		<item value="450" key="height"/>
+	</section>
+	<section name="org.eclipse.m2e.core.ui.internal.dialogs.MavenRepositorySearchDialog">
+		<item value="480" key="width"/>
+		<item value="707" key="x"/>
+		<item value="167" key="y"/>
+		<item value="531" key="height"/>
+	</section>
+	<section name="MavenProjectImportWizardPage">
+		<list key="rootDirectory">
+			<item value="C:\myIDS\Daten\KorAP\Services-0.1\WformServices"/>
+			<item value="C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar"/>
+			<item value="C:\myIDS\Daten\KorAP\Services-0.1\Utils"/>
+			<item value="C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests"/>
+			<item value="C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse"/>
+			<item value="C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices"/>
+			<item value="C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient"/>
+			<item value="C:\myIDS\Daten\KorAP\Services\GlemmClient"/>
+			<item value="F:\Daten\wsp-KorAP-Services\GlemmServices"/>
+			<item value="F:\Daten\wsp-KorAP-Services\GLEMM-Services"/>
+		</list>
+		<list key="projectNameTemplate">
+			<item value="[artifactId]"/>
+			<item value="[artifactId]-TRUNK"/>
+			<item value="[artifactId]-[version]"/>
+			<item value="[groupId].[artifactId]"/>
+			<item value="[groupId].[artifactId]-[version]"/>
+			<item value="[name]"/>
+		</list>
+	</section>
+	<section name="MavenProjectWizardLocationPage">
+		<list key="location">
+			<item value="F:\Daten\wsp-KorAP-Services\GLEMM-Services"/>
+			<item value="F:\Daten\wsp-KorAP-Services\GLEMM-Services\src\guest\Guest.java"/>
+			<item value="F:\Daten\wsp-KorAP-Services"/>
+		</list>
+		<list key="projectNameTemplate">
+			<item value="[artifactId]"/>
+			<item value="[artifactId]-TRUNK"/>
+			<item value="[artifactId]-[version]"/>
+			<item value="[groupId].[artifactId]"/>
+			<item value="[groupId].[artifactId]-[version]"/>
+			<item value="[name]"/>
+		</list>
+	</section>
+	<section name="Maven2ProjectWizardArchifactPage">
+		<list key="package">
+			<item value="de.korap.services"/>
+		</list>
+		<list key="groupId">
+			<item value="de.korap.services"/>
+		</list>
+		<list key="artifactId">
+		</list>
+		<list key="projectNameTemplate">
+			<item value="[artifactId]"/>
+			<item value="[artifactId]-TRUNK"/>
+			<item value="[artifactId]-[version]"/>
+			<item value="[groupId].[artifactId]"/>
+			<item value="[groupId].[artifactId]-[version]"/>
+			<item value="[name]"/>
+		</list>
+		<list key="version">
+			<item value="0.0.1-SNAPSHOT"/>
+		</list>
+	</section>
+	<section name="org.eclipse.m2e.editor.dialogs.ManageDependenciesDialog">
+		<item value="703" key="width"/>
+		<item value="736" key="x"/>
+		<item value="337" key="y"/>
+		<item value="450" key="height"/>
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmClient.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmClient.lifecyclemapping
new file mode 100644
index 0000000..14c779c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmClient.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmServices.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmServices.lifecyclemapping
new file mode 100644
index 0000000..12fbe98
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmServices.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmServices2.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmServices2.lifecyclemapping
new file mode 100644
index 0000000..12fbe98
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/GlemmServices2.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/JsonTraverse.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/JsonTraverse.lifecyclemapping
new file mode 100644
index 0000000..14c779c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/JsonTraverse.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/Tests.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/Tests.lifecyclemapping
new file mode 100644
index 0000000..14c779c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/Tests.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/Utils.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/Utils.lifecyclemapping
new file mode 100644
index 0000000..14c779c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/Utils.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3w.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3w.cfs
new file mode 100644
index 0000000..d1be519
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3w.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3w_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3w_1.del
new file mode 100644
index 0000000..0d10857
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3w_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3x.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3x.cfs
new file mode 100644
index 0000000..5a2e3f1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3x.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3x_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3x_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3x_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3y.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3y.cfs
new file mode 100644
index 0000000..7e9fc13
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3y.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3y_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3y_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3y_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3z.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3z.cfs
new file mode 100644
index 0000000..a750c48
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3z.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3z_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3z_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_3z_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_40.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_40.cfs
new file mode 100644
index 0000000..e4b3976
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_40.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_40_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_40_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_40_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_41.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_41.cfs
new file mode 100644
index 0000000..20a4dd4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/_41.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/segments.gen b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/segments.gen
new file mode 100644
index 0000000..e976e2a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/segments.gen
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/segments_3p b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/segments_3p
new file mode 100644
index 0000000..66e8962
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/segments_3p
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/write.lock b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/00088600343ff1d658893bc699c09a76/write.lock
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2i.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2i.cfs
new file mode 100644
index 0000000..ca8a5d2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2i.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2i_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2i_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2i_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2j.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2j.cfs
new file mode 100644
index 0000000..a887c73
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2j.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2j_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2j_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2j_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2k.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2k.cfs
new file mode 100644
index 0000000..bdd04c3
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/_2k.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/segments.gen b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/segments.gen
new file mode 100644
index 0000000..b2a7ea4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/segments.gen
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/segments_2d b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/segments_2d
new file mode 100644
index 0000000..4118afb
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/segments_2d
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/write.lock b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/05b0fe8524860bd73cbb07ef30fb34cc/write.lock
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5a.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5a.cfs
new file mode 100644
index 0000000..c0a6acc
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5a.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5a_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5a_1.del
new file mode 100644
index 0000000..af562c0
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5a_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5b.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5b.cfs
new file mode 100644
index 0000000..89cc78c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5b.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5b_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5b_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5b_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5c.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5c.cfs
new file mode 100644
index 0000000..f58c0df
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5c.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5c_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5c_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5c_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5d.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5d.cfs
new file mode 100644
index 0000000..4b2a14d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5d.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5d_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5d_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5d_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5e.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5e.cfs
new file mode 100644
index 0000000..ef47104
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5e.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5e_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5e_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5e_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5f.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5f.cfs
new file mode 100644
index 0000000..6af0531
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5f.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5f_1.del b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5f_1.del
new file mode 100644
index 0000000..1b473bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5f_1.del
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5g.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5g.cfs
new file mode 100644
index 0000000..b151e89
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/_5g.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/segments.gen b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/segments.gen
new file mode 100644
index 0000000..dd47a22
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/segments.gen
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/segments_4z b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/segments_4z
new file mode 100644
index 0000000..ea5608d
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/segments_4z
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/write.lock b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/830bc118332e77292949ed1e6d2fabe0/write.lock
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_1y.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_1y.cfs
new file mode 100644
index 0000000..4975965
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_1y.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_1z.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_1z.cfs
new file mode 100644
index 0000000..d73a1ce
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_1z.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_20.cfs b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_20.cfs
new file mode 100644
index 0000000..46c9215
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/_20.cfs
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/segments.gen b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/segments.gen
new file mode 100644
index 0000000..1073639
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/segments.gen
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/segments_1v b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/segments_1v
new file mode 100644
index 0000000..fc2e011
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/segments_1v
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/write.lock b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/write.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/nexus/d0293289782c7a4f676fb6288f68cc97/write.lock
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/wformServiceJar.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/wformServiceJar.lifecyclemapping
new file mode 100644
index 0000000..14c779c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/wformServiceJar.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/wformServices.lifecyclemapping b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/wformServices.lifecyclemapping
new file mode 100644
index 0000000..b924319
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/wformServices.lifecyclemapping
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser
new file mode 100644
index 0000000..e1afdea
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties
new file mode 100644
index 0000000..aa6ff4e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.core/workspacestate.properties
@@ -0,0 +1,22 @@
+#Sat Oct 23 19:33:39 CEST 2021
+de.korap.services\:utils\:pom\:\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\Utils\\pom.xml
+de.korap.services\:wformServiceJar\:jar\:tests\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\WformServiceJar\\target\\test-classes
+de.korap.json\:JsonTraverse\:jar\:\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\JsonTraverse\\target\\classes
+de.korap.services\:utils\:jar\:tests\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\Utils\\target\\test-classes
+de.korap.services\:utils\:jar\:\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\Utils\\target\\classes
+de.korap.json\:JsonTraverse\:jar\:tests\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\JsonTraverse\\target\\test-classes
+de.korap.services\:GlemmServices\:war\:\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\GlemmServices\\target\\classes
+de.korap.services\:GlemmServices\:jar\:tests\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\GlemmServices\\target\\test-classes
+de.korap.services\:wformServiceJar\:pom\:\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\WformServiceJar\\pom.xml
+de.korap.services.glemm.client\:GlemmClient\:pom\:\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\GlemmClient\\pom.xml
+de.korap.services\:wformServiceJar\:jar\:\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\WformServiceJar\\target\\classes
+de.korap.services\:wformServices\:pom\:\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\WformServices\\pom.xml
+de.korap.services\:tests\:pom\:\:0.1=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\Project-Tests\\pom.xml
+de.korap.services\:tests\:jar\:\:0.1=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\Project-Tests\\target\\classes
+de.korap.services\:tests\:jar\:tests\:0.1=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\Project-Tests\\target\\test-classes
+de.korap.services.glemm.client\:GlemmClient\:jar\:tests\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\GlemmClient\\target\\test-classes
+de.korap.services\:wformServices\:war\:\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\WformServices\\target\\classes
+de.korap.services\:GlemmServices\:pom\:\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\GlemmServices\\pom.xml
+de.korap.services.glemm.client\:GlemmClient\:jar\:\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\GlemmClient\\target\\classes
+de.korap.json\:JsonTraverse\:pom\:\:0.1-SNAPSHOT=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\JsonTraverse\\pom.xml
+de.korap.services\:wformServices\:jar\:tests\:0.2-Test=C\:\\myIDS\\Daten\\KorAP\\Services-0.1\\WformServices\\target\\test-classes
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmClient.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmClient.container
new file mode 100644
index 0000000..3399cd9
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmClient.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmServices.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmServices.container
new file mode 100644
index 0000000..e68234e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmServices.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmServices2.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmServices2.container
new file mode 100644
index 0000000..5c04569
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/GlemmServices2.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/JsonTraverse.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/JsonTraverse.container
new file mode 100644
index 0000000..fc0fe46
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/JsonTraverse.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/Tests.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/Tests.container
new file mode 100644
index 0000000..cd9389c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/Tests.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/Utils.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/Utils.container
new file mode 100644
index 0000000..e129212
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/Utils.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/wformServiceJar.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/wformServiceJar.container
new file mode 100644
index 0000000..48a752a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/wformServiceJar.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/wformServices.container b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/wformServices.container
new file mode 100644
index 0000000..8c1fe6b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.jdt/wformServices.container
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf6320994130529745561.tmp b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf6320994130529745561.tmp
new file mode 100644
index 0000000..1c061b2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf6320994130529745561.tmp
@@ -0,0 +1,45 @@
+main is org.apache.maven.cli.MavenCli from plexus.core
+[plexus.core]
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-util-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-model-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\commons-io-2.5.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\commons-cli-1.4.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-connector-basic-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-core-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-interpolation-1.24.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\guice-4.0-no_aop.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\org.eclipse.sisu.inject-0.3.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-sec-dispatcher-1.4.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-cipher-1.7.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-settings-builder-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-compat-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-embedder-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\aether-connector-okhttp-0.17.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\org.eclipse.sisu.plexus-0.3.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\cdi-api-1.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\okio-1.12.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-settings-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\okhttp-3.7.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-api-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-component-annotations-1.7.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-impl-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\jsr250-api-1.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\wagon-file-3.0.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-provider-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-transport-wagon-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\commons-lang3-3.5.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\guava-20.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-spi-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-artifact-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-utils-3.1.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-repository-metadata-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\wagon-provider-api-3.0.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-builder-support-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-shared-utils-3.2.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-model-builder-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-plugin-api-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime.slf4j.simple_1.9.0.20180606-2035\
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime.slf4j.simple_1.9.0.20180606-2035\jars\slf4j-simple-1.7.5.jar
+load C:\Users\Bodmer\.eclipse\org.eclipse.platform_4.8.0_1709980481_win32_win32_x86_64\configuration\org.eclipse.osgi\27\0\.cp\
+load C:\Users\Bodmer\.eclipse\org.eclipse.platform_4.8.0_1709980481_win32_win32_x86_64\configuration\org.eclipse.osgi\987\0\.cp\
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf6560129085849731201.tmp b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf6560129085849731201.tmp
new file mode 100644
index 0000000..1c061b2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.launching/launches/m2conf6560129085849731201.tmp
@@ -0,0 +1,45 @@
+main is org.apache.maven.cli.MavenCli from plexus.core
+[plexus.core]
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-util-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-model-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\commons-io-2.5.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\commons-cli-1.4.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-connector-basic-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-core-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-interpolation-1.24.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\guice-4.0-no_aop.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\org.eclipse.sisu.inject-0.3.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-sec-dispatcher-1.4.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-cipher-1.7.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-settings-builder-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-compat-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-embedder-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\aether-connector-okhttp-0.17.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\org.eclipse.sisu.plexus-0.3.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\cdi-api-1.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\okio-1.12.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-settings-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\okhttp-3.7.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-api-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-component-annotations-1.7.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-impl-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\jsr250-api-1.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\wagon-file-3.0.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-provider-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-transport-wagon-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\commons-lang3-3.5.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\guava-20.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-resolver-spi-1.1.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-artifact-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\plexus-utils-3.1.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-repository-metadata-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\wagon-provider-api-3.0.0.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-builder-support-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-shared-utils-3.2.1.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-model-builder-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime_1.9.0.20180606-2035\jars\maven-plugin-api-3.5.3.jar
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime.slf4j.simple_1.9.0.20180606-2035\
+load C:\Program Files\eclipse\plugins\org.eclipse.m2e.maven.runtime.slf4j.simple_1.9.0.20180606-2035\jars\slf4j-simple-1.7.5.jar
+load C:\Users\Bodmer\.eclipse\org.eclipse.platform_4.8.0_1709980481_win32_win32_x86_64\configuration\org.eclipse.osgi\27\0\.cp\
+load C:\Users\Bodmer\.eclipse\org.eclipse.platform_4.8.0_1709980481_win32_win32_x86_64\configuration\org.eclipse.osgi\987\0\.cp\
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
new file mode 100644
index 0000000..b94f255
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
@@ -0,0 +1,9987 @@
+2019-11-12 12:26:47,551 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2019-11-15 13:55:09,149 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-archetype/1.0/maven-archetype-archetype-1.0.jar
+2019-11-15 13:55:09,182 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-archetype/1.0/maven-archetype-archetype-1.0.jar
+2019-11-15 13:55:09,194 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-archetype/1.0/maven-archetype-archetype-1.0.pom
+2019-11-15 13:55:09,205 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-archetype/1.0/maven-archetype-archetype-1.0.pom
+2019-11-20 16:21:55,576 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2019-11-20 16:22:12,323 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Updating Gradle version information cache failed. Using outdated cache.
+2019-11-20 16:48:42,706 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar
+2019-11-20 16:48:42,739 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar
+2019-11-20 16:48:42,757 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom
+2019-11-20 16:48:42,771 [ModalContext] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom
+2019-11-20 16:49:49,456 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Collecting project info '/pom.xml' F:\Daten\wsp-KorAP-Services\glemm\pom.xml
+2019-11-20 16:49:53,376 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.2/plexus-compiler-manager-2.2.pom
+2019-11-20 16:49:53,397 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.2/plexus-compiler-manager-2.2.pom
+2019-11-20 16:49:53,415 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.2/plexus-compiler-javac-2.2.pom
+2019-11-20 16:49:53,430 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.2/plexus-compiler-javac-2.2.pom
+2019-11-20 16:49:53,446 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compilers/2.2/plexus-compilers-2.2.pom
+2019-11-20 16:49:53,461 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compilers/2.2/plexus-compilers-2.2.pom
+2019-11-20 16:49:53,714 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.jar
+2019-11-20 16:49:53,766 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.jar
+2019-11-20 16:49:53,777 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.2/plexus-compiler-manager-2.2.jar
+2019-11-20 16:49:53,792 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.2/plexus-compiler-manager-2.2.jar
+2019-11-20 16:49:53,803 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.2/plexus-compiler-javac-2.2.jar
+2019-11-20 16:49:53,819 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.2/plexus-compiler-javac-2.2.jar
+2019-11-20 16:49:54,722 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:glemm:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\glemm\pom.xml.
+2019-11-20 16:49:56,196 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /glemm/src/main/java
+2019-11-20 16:49:56,197 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding resource folder /glemm/src/main/resources
+2019-11-20 16:49:56,197 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /glemm/src/test/java
+2019-11-20 16:49:57,163 [Worker-25: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1-sources.jar
+2019-11-20 16:49:57,198 [Worker-25: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1-sources.jar
+2019-11-20 16:49:57,351 [Worker-25: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for junit:junit:3.8.1
+2019-11-20 16:49:57,354 [Worker-25: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for junit:junit:3.8.1
+2019-11-20 16:49:59,363 [Worker-22: Creating maven-archetype-webapp] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 9 sec
+2019-11-20 16:49:59,677 [Worker-27: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 16:49:59,695 [Worker-27: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-20 16:49:59,697 [Worker-27: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 16:49:59,698 [Worker-27: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\glemm\src\test\resources
+2019-11-20 16:52:03,179 [Worker-28: Creating maven-archetype-quickstart] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Collecting project info '/pom.xml' F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml
+2019-11-20 16:52:03,563 [Worker-28: Creating maven-archetype-quickstart] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml.
+2019-11-20 16:52:03,930 [Worker-28: Creating maven-archetype-quickstart] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src/main/java
+2019-11-20 16:52:03,933 [Worker-28: Creating maven-archetype-quickstart] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src/test/java
+2019-11-20 16:52:03,967 [Worker-28: Creating maven-archetype-quickstart] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 0 sec
+2019-11-20 16:52:04,263 [Worker-28: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources.
+2019-11-20 16:52:04,264 [Worker-28: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\main\resources
+2019-11-20 16:52:04,266 [Worker-28: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources.
+2019-11-20 16:52:04,266 [Worker-28: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-20 16:54:40,736 [Worker-28: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml.
+2019-11-20 16:54:40,882 [Worker-28: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src/main/java
+2019-11-20 16:54:40,883 [Worker-28: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src/test/java
+2019-11-20 16:54:40,908 [Worker-28: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 0 sec
+2019-11-20 16:54:41,223 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources.
+2019-11-20 16:54:41,223 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\main\resources
+2019-11-20 16:54:41,225 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Using 'UTF-8' encoding to copy filtered resources.
+2019-11-20 16:54:41,225 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-20 17:01:41,942 [Worker-32: Building workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:glemm:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\glemm\pom.xml.
+2019-11-20 17:01:42,564 [Worker-32: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 17:01:42,566 [Worker-32: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-20 17:01:42,568 [Worker-32: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 17:01:42,569 [Worker-32: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\glemm\src\test\resources
+2019-11-20 17:01:42,569 [Worker-32: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of glemm
+2019-11-20 17:01:42,570 [Worker-32: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for glemm
+2019-11-20 17:01:42,575 [Worker-32: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 17:01:43,698 [Worker-37: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 17:01:43,705 [Worker-37: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-20 17:01:43,706 [Worker-37: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 17:01:43,707 [Worker-37: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\glemm\src\test\resources
+2019-11-20 17:03:08,995 [Worker-30: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 17:03:08,997 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-20 17:03:08,998 [Worker-30: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-20 17:03:09,001 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\glemm\src\test\resources
+2019-11-21 09:09:19,227 [Worker-30: Building workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:glemm:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\glemm\pom.xml.
+2019-11-21 09:09:19,654 [Worker-30: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:09:19,657 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 09:09:19,659 [Worker-30: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:09:19,660 [Worker-30: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\glemm\src\test\resources
+2019-11-21 09:09:19,660 [Worker-30: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of glemm
+2019-11-21 09:09:19,660 [Worker-30: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for glemm
+2019-11-21 09:09:19,663 [Worker-30: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:44:32,816 [Worker-62: Creating maven-archetype-webapp] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Collecting project info '/pom.xml' F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml
+2019-11-21 09:44:32,901 [Worker-62: Creating maven-archetype-webapp] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml.
+2019-11-21 09:44:32,989 [Worker-62: Creating maven-archetype-webapp] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src/main/java
+2019-11-21 09:44:32,989 [Worker-62: Creating maven-archetype-webapp] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding resource folder /GlemmServices/src/main/resources
+2019-11-21 09:44:32,989 [Worker-62: Creating maven-archetype-webapp] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src/test/java
+2019-11-21 09:44:33,886 [Worker-62: Creating maven-archetype-webapp] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 1 sec
+2019-11-21 09:44:34,062 [Worker-60: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:44:34,063 [Worker-60: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 09:44:34,064 [Worker-60: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:44:34,065 [Worker-60: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 09:44:34,259 [Worker-45: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:44:34,260 [Worker-45: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 09:44:34,261 [Worker-45: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:44:34,261 [Worker-45: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 09:48:02,079 [Worker-60: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:48:02,081 [Worker-60: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 09:48:02,082 [Worker-60: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:48:02,085 [Worker-60: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 09:48:27,543 [Worker-60: Building workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml.
+2019-11-21 09:48:28,043 [Worker-60: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:48:28,046 [Worker-60: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 09:48:28,047 [Worker-60: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:48:28,048 [Worker-60: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 09:48:28,049 [Worker-60: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-11-21 09:48:28,049 [Worker-60: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-11-21 09:48:28,053 [Worker-60: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:54:42,671 [Worker-69: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:54:42,672 [Worker-69: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 09:54:42,673 [Worker-69: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 09:54:42,674 [Worker-69: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 10:48:17,727 [Worker-80: Building Project GlemmServices] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:48:17,728 [Worker-80: Building Project GlemmServices] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 10:48:17,729 [Worker-80: Building Project GlemmServices] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:48:17,730 [Worker-80: Building Project GlemmServices] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 10:49:01,918 [Worker-83: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:49:01,919 [Worker-83: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 10:49:01,920 [Worker-83: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:49:01,922 [Worker-83: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 10:54:28,859 [Worker-81: Building workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml.
+2019-11-21 10:54:29,266 [Worker-81: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:54:29,268 [Worker-81: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 10:54:29,271 [Worker-81: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:54:29,272 [Worker-81: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 10:54:29,272 [Worker-81: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-11-21 10:54:29,272 [Worker-81: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-11-21 10:54:29,276 [Worker-81: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:54:30,356 [Worker-87: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:54:30,357 [Worker-87: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 10:54:30,358 [Worker-87: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:54:30,359 [Worker-87: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 10:56:33,189 [Worker-89: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-21 10:56:33,190 [Worker-89: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-21 10:56:37,059 [Worker-84: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:56:37,061 [Worker-84: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 10:56:37,062 [Worker-84: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 10:56:37,063 [Worker-84: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:19:56,279 [Worker-101: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:19:56,342 [Worker-101: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:19:56,343 [Worker-101: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:19:56,344 [Worker-101: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:20:50,583 [Worker-102: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:20:50,584 [Worker-102: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:20:50,585 [Worker-102: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:20:50,586 [Worker-102: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:22:01,656 [Worker-103: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:22:01,658 [Worker-103: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:22:01,659 [Worker-103: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:22:01,660 [Worker-103: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:22:31,537 [Worker-102: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:22:31,538 [Worker-102: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:22:31,539 [Worker-102: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:22:31,542 [Worker-102: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:24:06,097 [Worker-103: Building workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices\pom.xml.
+2019-11-21 13:24:06,588 [Worker-103: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:24:06,590 [Worker-103: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:24:06,592 [Worker-103: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:24:06,592 [Worker-103: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:24:06,593 [Worker-103: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-11-21 13:24:06,593 [Worker-103: Building workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-11-21 13:24:06,597 [Worker-103: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:24:07,599 [Worker-106: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/javax/ws/rs/javax.ws.rs-api/2.0/javax.ws.rs-api-2.0-sources.jar
+2019-11-21 13:24:07,635 [Worker-106: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/javax/ws/rs/javax.ws.rs-api/2.0/javax.ws.rs-api-2.0-sources.jar
+2019-11-21 13:24:07,687 [Worker-104: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:24:07,688 [Worker-104: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:24:07,690 [Worker-104: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:24:07,691 [Worker-104: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:24:07,870 [Worker-106: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for javax.ws.rs:javax.ws.rs-api:2.0
+2019-11-21 13:24:08,733 [Worker-103: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:24:08,734 [Worker-103: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:24:08,735 [Worker-103: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:24:08,737 [Worker-103: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:26:11,389 [Worker-98: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-21 13:26:11,389 [Worker-98: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-21 13:26:13,589 [Worker-98: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:26:13,591 [Worker-98: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:26:13,592 [Worker-98: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:26:13,594 [Worker-98: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:28:37,636 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/takari/m2e/workspace/org.eclipse.m2e.workspace.cli/0.3.1/org.eclipse.m2e.workspace.cli-0.3.1-sources.jar
+2019-11-21 13:28:37,644 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/takari/m2e/workspace/org.eclipse.m2e.workspace.cli/0.3.1/org.eclipse.m2e.workspace.cli-0.3.1-sources.jar
+2019-11-21 13:28:37,866 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2-sources.jar
+2019-11-21 13:28:37,947 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2-sources.jar
+2019-11-21 13:28:38,090 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1-sources.jar
+2019-11-21 13:28:38,109 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1-sources.jar
+2019-11-21 13:28:38,304 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.5.3/maven-model-3.5.3-sources.jar
+2019-11-21 13:28:38,324 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.5.3/maven-model-3.5.3-sources.jar
+2019-11-21 13:28:38,494 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5-sources.jar
+2019-11-21 13:28:38,523 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5-sources.jar
+2019-11-21 13:28:38,772 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.4/commons-cli-1.4-sources.jar
+2019-11-21 13:28:38,797 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.4/commons-cli-1.4-sources.jar
+2019-11-21 13:28:39,045 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1-sources.jar
+2019-11-21 13:28:39,059 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1-sources.jar
+2019-11-21 13:28:39,240 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/3.5.3/maven-core-3.5.3-sources.jar
+2019-11-21 13:28:39,361 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/3.5.3/maven-core-3.5.3-sources.jar
+2019-11-21 13:28:39,532 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24-sources.jar
+2019-11-21 13:28:39,589 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24-sources.jar
+2019-11-21 13:28:39,750 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4-sources.jar
+2019-11-21 13:28:39,781 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4-sources.jar
+2019-11-21 13:28:39,961 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings-builder/3.5.3/maven-settings-builder-3.5.3-sources.jar
+2019-11-21 13:28:39,972 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings-builder/3.5.3/maven-settings-builder-3.5.3-sources.jar
+2019-11-21 13:28:40,107 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-compat/3.5.3/maven-compat-3.5.3-sources.jar
+2019-11-21 13:28:40,139 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-compat/3.5.3/maven-compat-3.5.3-sources.jar
+2019-11-21 13:28:40,286 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-embedder/3.5.3/maven-embedder-3.5.3-sources.jar
+2019-11-21 13:28:40,303 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-embedder/3.5.3/maven-embedder-3.5.3-sources.jar
+2019-11-21 13:28:40,441 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/takari/aether/aether-connector-okhttp/0.17.3/aether-connector-okhttp-0.17.3-sources.jar
+2019-11-21 13:28:40,462 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/takari/aether/aether-connector-okhttp/0.17.3/aether-connector-okhttp-0.17.3-sources.jar
+2019-11-21 13:28:40,667 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.12.0/okio-1.12.0-sources.jar
+2019-11-21 13:28:40,693 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.12.0/okio-1.12.0-sources.jar
+2019-11-21 13:28:40,946 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/3.5.3/maven-settings-3.5.3-sources.jar
+2019-11-21 13:28:40,960 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/3.5.3/maven-settings-3.5.3-sources.jar
+2019-11-21 13:28:41,121 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/3.7.0/okhttp-3.7.0-sources.jar
+2019-11-21 13:28:41,158 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/3.7.0/okhttp-3.7.0-sources.jar
+2019-11-21 13:28:41,388 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1-sources.jar
+2019-11-21 13:28:41,410 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1-sources.jar
+2019-11-21 13:28:41,553 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1-sources.jar
+2019-11-21 13:28:41,562 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1-sources.jar
+2019-11-21 13:28:41,718 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1-sources.jar
+2019-11-21 13:28:41,747 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1-sources.jar
+2019-11-21 13:28:41,898 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/3.0.0/wagon-file-3.0.0-sources.jar
+2019-11-21 13:28:41,910 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/3.0.0/wagon-file-3.0.0-sources.jar
+2019-11-21 13:28:42,077 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-resolver-provider/3.5.3/maven-resolver-provider-3.5.3-sources.jar
+2019-11-21 13:28:42,087 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-resolver-provider/3.5.3/maven-resolver-provider-3.5.3-sources.jar
+2019-11-21 13:28:42,225 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1-sources.jar
+2019-11-21 13:28:42,234 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1-sources.jar
+2019-11-21 13:28:42,419 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/google/guava/guava/20.0/guava-20.0-sources.jar
+2019-11-21 13:28:42,498 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/google/guava/guava/20.0/guava-20.0-sources.jar
+2019-11-21 13:28:42,683 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1-sources.jar
+2019-11-21 13:28:42,700 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1-sources.jar
+2019-11-21 13:28:42,838 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.5.3/maven-artifact-3.5.3-sources.jar
+2019-11-21 13:28:42,849 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.5.3/maven-artifact-3.5.3-sources.jar
+2019-11-21 13:28:43,013 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0-sources.jar
+2019-11-21 13:28:43,040 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0-sources.jar
+2019-11-21 13:28:43,178 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/3.5.3/maven-repository-metadata-3.5.3-sources.jar
+2019-11-21 13:28:43,187 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/3.5.3/maven-repository-metadata-3.5.3-sources.jar
+2019-11-21 13:28:43,363 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0-sources.jar
+2019-11-21 13:28:43,380 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0-sources.jar
+2019-11-21 13:28:43,542 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-builder-support/3.5.3/maven-builder-support-3.5.3-sources.jar
+2019-11-21 13:28:43,551 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-builder-support/3.5.3/maven-builder-support-3.5.3-sources.jar
+2019-11-21 13:28:43,725 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1-sources.jar
+2019-11-21 13:28:43,751 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1-sources.jar
+2019-11-21 13:28:43,915 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-model-builder/3.5.3/maven-model-builder-3.5.3-sources.jar
+2019-11-21 13:28:43,938 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-model-builder/3.5.3/maven-model-builder-3.5.3-sources.jar
+2019-11-21 13:28:44,113 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.5.3/maven-plugin-api-3.5.3-sources.jar
+2019-11-21 13:28:44,128 [Worker-108: Searching...] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.5.3/maven-plugin-api-3.5.3-sources.jar
+2019-11-21 13:35:30,138 [Worker-108: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:35:30,139 [Worker-108: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:35:30,141 [Worker-108: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:35:30,148 [Worker-108: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:35:43,043 [Worker-113: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-21 13:35:43,043 [Worker-113: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-21 13:35:45,682 [Worker-115: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:35:45,683 [Worker-115: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:35:45,685 [Worker-115: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:35:45,686 [Worker-115: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:57:19,636 [Worker-119: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:57:19,637 [Worker-119: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:57:19,638 [Worker-119: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:57:19,640 [Worker-119: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-21 13:57:25,534 [Worker-120: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-21 13:57:25,534 [Worker-120: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-21 13:57:28,135 [Worker-121: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:57:28,136 [Worker-121: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-21 13:57:28,138 [Worker-121: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-21 13:57:28,139 [Worker-121: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:22:06,352 [Worker-130: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:22:06,355 [Worker-130: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-22 09:22:06,357 [Worker-130: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:22:06,362 [Worker-130: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:22:12,842 [Worker-134: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 09:22:12,842 [Worker-134: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 09:22:15,461 [Worker-136: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:22:15,463 [Worker-136: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-22 09:22:15,464 [Worker-136: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:22:15,467 [Worker-136: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:26:24,161 [Worker-137: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:26:24,163 [Worker-137: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-22 09:26:24,165 [Worker-137: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:26:24,166 [Worker-137: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:26:30,775 [Worker-139: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 09:26:30,775 [Worker-139: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 09:26:33,323 [Worker-130: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:26:33,324 [Worker-130: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-22 09:26:33,326 [Worker-130: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:26:33,328 [Worker-130: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:32:13,230 [Worker-141: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:32:13,232 [Worker-141: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-11-22 09:32:13,241 [Worker-141: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:32:13,242 [Worker-141: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:32:49,873 [Worker-135: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 09:32:49,873 [Worker-135: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 09:32:52,534 [Worker-130: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:32:52,535 [Worker-130: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-22 09:32:52,537 [Worker-130: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:32:52,538 [Worker-130: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:43:03,129 [Worker-146: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:43:03,131 [Worker-146: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-11-22 09:43:03,134 [Worker-146: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:43:03,136 [Worker-146: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:43:12,532 [Worker-144: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 09:43:12,532 [Worker-144: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 09:43:15,020 [Worker-145: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:43:15,021 [Worker-145: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-22 09:43:15,024 [Worker-145: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:43:15,026 [Worker-145: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:45:38,058 [Worker-149: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:45:38,060 [Worker-149: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 0 resource
+2019-11-22 09:45:38,061 [Worker-149: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-22 09:45:38,065 [Worker-149: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-22 09:46:56,248 [Worker-145: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 09:46:56,248 [Worker-145: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 12:49:57,094 [Worker-245: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 12:49:57,094 [Worker-245: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 14:26:00,351 [Worker-284: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 14:26:00,351 [Worker-284: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 14:37:31,978 [Worker-290: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 14:37:31,978 [Worker-290: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-22 16:13:21,713 [Worker-322: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-22 16:13:21,713 [Worker-322: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-25 12:30:13,916 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2019-11-25 12:30:20,334 [Worker-0: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-25 12:30:20,355 [Worker-0: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-11-25 12:30:20,367 [Worker-0: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-25 12:30:20,378 [Worker-0: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-25 14:54:47,384 [Worker-23: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-25 14:54:47,384 [Worker-23: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-25 15:02:43,419 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-25 15:02:43,419 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-25 15:05:31,076 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-25 15:05:31,076 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-25 15:45:51,558 [Worker-36: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-25 15:45:51,558 [Worker-36: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-25 16:05:44,817 [Worker-46: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-25 16:05:44,817 [Worker-46: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 09:33:05,327 [Worker-320: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 09:33:05,327 [Worker-320: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 09:44:27,246 [Worker-321: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 09:44:27,246 [Worker-321: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 09:51:33,395 [Worker-330: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 09:51:33,396 [Worker-330: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 10:32:05,858 [Worker-348: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 10:32:05,859 [Worker-348: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 10:38:12,605 [Worker-350: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 10:38:12,605 [Worker-350: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 10:41:49,744 [Worker-350: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 10:41:49,744 [Worker-350: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 10:43:05,974 [Worker-350: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 10:43:05,974 [Worker-350: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-26 11:12:14,184 [Worker-367: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2019-11-26 11:12:14,308 [Worker-366: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-26 11:12:14,310 [Worker-366: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-11-26 11:12:14,315 [Worker-366: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-26 11:12:14,316 [Worker-366: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-26 11:12:14,316 [Worker-366: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-11-26 11:12:14,351 [Worker-366: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-11-26 11:12:14,417 [Worker-366: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-26 11:12:29,940 [Worker-370: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-26 11:12:29,941 [Worker-370: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 14:03:43,892 [Worker-871: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 14:03:43,929 [Worker-871: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 15:34:47,661 [Worker-910: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 15:34:47,661 [Worker-910: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 15:38:53,166 [Worker-911: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 15:38:53,168 [Worker-911: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 15:49:53,564 [Worker-915: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 15:49:53,565 [Worker-915: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 16:06:59,937 [Worker-925: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 16:06:59,937 [Worker-925: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 16:42:48,005 [Worker-937: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 16:42:48,005 [Worker-937: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 16:48:42,306 [Worker-938: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 16:48:42,306 [Worker-938: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 16:50:20,658 [Worker-944: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 16:50:20,658 [Worker-944: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 16:52:19,190 [Worker-941: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 16:52:19,190 [Worker-941: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 16:54:23,872 [Worker-945: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 16:54:23,873 [Worker-945: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-27 17:04:40,700 [Worker-947: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-27 17:04:40,700 [Worker-947: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 10:17:13,967 [Worker-1255: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 10:17:13,967 [Worker-1255: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 10:48:22,399 [Worker-1263: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 10:48:22,399 [Worker-1263: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 10:50:09,596 [Worker-1263: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 10:50:09,596 [Worker-1263: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 10:58:02,084 [Worker-1268: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 10:58:02,084 [Worker-1268: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 12:40:48,500 [Worker-1301: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 12:40:48,501 [Worker-1301: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 13:26:38,100 [Worker-1314: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 13:26:38,100 [Worker-1314: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 13:28:56,392 [Worker-1316: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 13:28:56,393 [Worker-1316: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 13:30:35,202 [Worker-1319: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 13:30:35,202 [Worker-1319: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 13:34:06,905 [Worker-1319: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 13:34:06,906 [Worker-1319: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 14:03:58,299 [Worker-1330: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2019-11-28 14:03:58,324 [Worker-1331: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-28 14:03:58,326 [Worker-1331: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-11-28 14:03:58,330 [Worker-1331: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-28 14:03:58,331 [Worker-1331: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-11-28 14:03:58,331 [Worker-1331: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-11-28 14:03:58,331 [Worker-1331: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-11-28 14:03:58,343 [Worker-1331: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-11-28 14:04:13,508 [Worker-1332: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 14:04:13,508 [Worker-1332: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 14:49:28,504 [Worker-1348: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 14:49:28,504 [Worker-1348: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-11-28 14:51:12,267 [Worker-1347: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-11-28 14:51:12,268 [Worker-1347: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 10:31:00,242 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2019-12-06 11:00:49,820 [Worker-16: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:00:49,828 [Worker-16: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 11:03:58,316 [Worker-24: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:03:58,316 [Worker-24: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 11:04:37,745 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:04:37,746 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 11:08:52,815 [Worker-28: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:08:52,816 [Worker-28: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 11:26:01,443 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:26:01,444 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 11:32:37,650 [Worker-40: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2019-12-06 11:32:38,671 [Worker-35: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-06 11:32:38,706 [Worker-35: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-12-06 11:32:38,724 [Worker-35: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-06 11:32:38,725 [Worker-35: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-12-06 11:32:38,726 [Worker-35: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-12-06 11:32:38,728 [Worker-35: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-12-06 11:32:38,793 [Worker-35: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-06 11:33:55,651 [Worker-38: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:33:55,652 [Worker-38: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 11:34:13,453 [Worker-41: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:34:13,453 [Worker-41: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 11:49:58,773 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2019-12-06 11:55:04,580 [Worker-17: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2019-12-06 11:55:05,256 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-06 11:55:05,265 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-12-06 11:55:05,283 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-06 11:55:05,284 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-12-06 11:55:05,286 [Worker-1: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-12-06 11:55:05,287 [Worker-1: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-12-06 11:55:05,315 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-06 11:55:12,335 [Worker-18: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 11:55:12,337 [Worker-18: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 12:18:50,105 [Worker-26: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 12:18:50,107 [Worker-26: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 12:36:09,707 [Worker-29: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 12:36:09,708 [Worker-29: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 12:38:21,916 [Worker-34: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 12:38:21,916 [Worker-34: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 12:39:36,423 [Worker-36: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 12:39:36,423 [Worker-36: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 12:41:26,156 [Worker-40: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 12:41:26,156 [Worker-40: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-06 12:43:22,158 [Worker-34: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-06 12:43:22,159 [Worker-34: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 11:00:11,038 [Worker-1084: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-09 11:00:11,041 [Worker-1084: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 11:43:23,342 [Worker-1095: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-09 11:43:23,342 [Worker-1095: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 12:00:32,848 [Worker-1104: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-09 12:00:32,849 [Worker-1104: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 12:01:34,378 [Worker-1103: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-09 12:01:34,378 [Worker-1103: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 12:18:09,019 [Worker-1109: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2019-12-09 12:18:09,076 [Worker-1107: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-09 12:18:09,079 [Worker-1107: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 1 resource
+2019-12-09 12:18:09,089 [Worker-1107: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-09 12:18:09,091 [Worker-1107: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices\src\test\resources
+2019-12-09 12:18:09,091 [Worker-1107: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2019-12-09 12:18:09,091 [Worker-1107: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2019-12-09 12:18:09,129 [Worker-1107: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-09 12:18:14,693 [Worker-1107: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-09 12:18:14,693 [Worker-1107: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 13:57:02,376 [Worker-1146: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices
+2019-12-09 13:57:02,377 [Worker-1146: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 14:15:43,706 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2019-12-09 15:44:46,831 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/3.2.1/maven-war-plugin-3.2.1.jar
+2019-12-09 15:44:46,942 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/3.2.1/maven-war-plugin-3.2.1.jar
+2019-12-09 15:44:49,513 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: GlemmServices2:GlemmServices2:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices2\pom.xml.
+2019-12-09 15:44:49,638 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/3.2.1/maven-war-plugin-3.2.1.pom
+2019-12-09 15:44:49,654 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/3.2.1/maven-war-plugin-3.2.1.pom
+2019-12-09 15:44:49,670 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/31/maven-plugins-31.pom
+2019-12-09 15:44:49,689 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/31/maven-plugins-31.pom
+2019-12-09 15:44:49,704 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/31/maven-parent-31.pom
+2019-12-09 15:44:49,727 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/31/maven-parent-31.pom
+2019-12-09 15:44:49,746 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/apache/19/apache-19.pom
+2019-12-09 15:44:49,763 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/apache/19/apache-19.pom
+2019-12-09 15:44:50,119 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.pom
+2019-12-09 15:44:50,135 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.pom
+2019-12-09 15:44:50,152 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.7.1/plexus-containers-1.7.1.pom
+2019-12-09 15:44:50,168 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.7.1/plexus-containers-1.7.1.pom
+2019-12-09 15:44:50,381 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.pom
+2019-12-09 15:44:50,395 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.pom
+2019-12-09 15:44:50,426 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.pom
+2019-12-09 15:44:50,441 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.pom
+2019-12-09 15:44:50,476 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.5/plexus-archiver-3.5.pom
+2019-12-09 15:44:50,494 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.5/plexus-archiver-3.5.pom
+2019-12-09 15:44:50,510 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/5.0/plexus-5.0.pom
+2019-12-09 15:44:50,529 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/5.0/plexus-5.0.pom
+2019-12-09 15:44:50,549 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom
+2019-12-09 15:44:50,563 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom
+2019-12-09 15:44:50,582 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.0/plexus-io-3.0.0.pom
+2019-12-09 15:44:50,596 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.0/plexus-io-3.0.0.pom
+2019-12-09 15:44:50,688 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom
+2019-12-09 15:44:50,705 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom
+2019-12-09 15:44:50,766 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.pom
+2019-12-09 15:44:50,783 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.pom
+2019-12-09 15:44:50,803 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/tukaani/xz/1.6/xz-1.6.pom
+2019-12-09 15:44:50,818 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/tukaani/xz/1.6/xz-1.6.pom
+2019-12-09 15:44:50,836 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom
+2019-12-09 15:44:50,853 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom
+2019-12-09 15:44:50,894 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.pom
+2019-12-09 15:44:50,909 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.pom
+2019-12-09 15:44:50,946 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.pom
+2019-12-09 15:44:50,970 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.pom
+2019-12-09 15:44:50,990 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.pom
+2019-12-09 15:44:51,004 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.pom
+2019-12-09 15:44:51,055 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.pom
+2019-12-09 15:44:51,070 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.pom
+2019-12-09 15:44:51,085 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/43/commons-parent-43.pom
+2019-12-09 15:44:51,110 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/43/commons-parent-43.pom
+2019-12-09 15:44:51,132 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.pom
+2019-12-09 15:44:51,181 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.pom
+2019-12-09 15:44:51,197 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom
+2019-12-09 15:44:51,213 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom
+2019-12-09 15:44:51,231 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.pom
+2019-12-09 15:44:51,246 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.pom
+2019-12-09 15:44:51,271 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.pom
+2019-12-09 15:44:51,286 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.pom
+2019-12-09 15:44:51,304 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.pom
+2019-12-09 15:44:51,346 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.pom
+2019-12-09 15:44:51,366 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1.4.10/xstream-parent-1.4.10.pom
+2019-12-09 15:44:51,386 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1.4.10/xstream-parent-1.4.10.pom
+2019-12-09 15:44:51,441 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom
+2019-12-09 15:44:51,456 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom
+2019-12-09 15:44:51,823 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.pom
+2019-12-09 15:44:51,845 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.pom
+2019-12-09 15:44:51,863 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/22/maven-shared-components-22.pom
+2019-12-09 15:44:51,882 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/22/maven-shared-components-22.pom
+2019-12-09 15:44:52,023 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
+2019-12-09 15:44:52,039 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
+2019-12-09 15:44:52,046 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.jar
+2019-12-09 15:44:52,063 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.jar
+2019-12-09 15:44:52,073 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.jar
+2019-12-09 15:44:52,108 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.jar
+2019-12-09 15:44:52,117 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.jar
+2019-12-09 15:44:52,147 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.jar
+2019-12-09 15:44:52,156 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.jar
+2019-12-09 15:44:52,176 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.jar
+2019-12-09 15:44:52,185 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.jar
+2019-12-09 15:44:52,242 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.jar
+2019-12-09 15:44:52,250 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.jar
+2019-12-09 15:44:52,269 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.jar
+2019-12-09 15:44:52,276 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.jar
+2019-12-09 15:44:52,297 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.jar
+2019-12-09 15:44:52,305 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.jar
+2019-12-09 15:44:52,328 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.jar
+2019-12-09 15:44:52,336 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar
+2019-12-09 15:44:52,358 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar
+2019-12-09 15:44:52,366 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.jar
+2019-12-09 15:44:52,423 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.jar
+2019-12-09 15:44:52,432 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
+2019-12-09 15:44:52,464 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
+2019-12-09 15:44:52,472 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar
+2019-12-09 15:44:52,489 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar
+2019-12-09 15:44:52,497 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.jar
+2019-12-09 15:44:52,512 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.jar
+2019-12-09 15:44:55,423 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices2/src
+2019-12-09 15:44:55,424 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmServices2/src/test/java because it overlaps with /GlemmServices2/src
+2019-12-09 15:44:56,233 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2019-12-09 15:44:56,718 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: GlemmServices2:GlemmServices2:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices2\pom.xml.
+2019-12-09 15:44:57,694 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices2/src
+2019-12-09 15:44:57,696 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmServices2/src/test/java because it overlaps with /GlemmServices2/src
+2019-12-09 15:44:58,229 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2019-12-09 15:44:58,250 [Worker-48: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 2 sec
+2019-12-09 15:51:11,606 [Worker-52: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices2\pom.xml.
+2019-12-09 15:51:12,508 [Worker-52: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2019-12-09 15:51:13,003 [Worker-53: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-09 15:51:13,005 [Worker-53: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\main\resources
+2019-12-09 15:51:13,008 [Worker-53: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-09 15:51:13,009 [Worker-53: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\test\resources
+2019-12-09 15:51:13,010 [Worker-53: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2019-12-09 15:51:13,011 [Worker-53: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2019-12-09 15:51:13,066 [Worker-53: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2019-12-09 15:51:18,018 [Worker-56: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-09 15:51:18,019 [Worker-56: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 15:58:22,804 [Worker-59: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-09 15:58:22,805 [Worker-59: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 16:03:09,026 [Worker-58: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-09 16:03:09,026 [Worker-58: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-09 16:16:55,041 [Worker-67: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-09 16:16:55,042 [Worker-67: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 09:48:50,740 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2019-12-10 09:49:44,160 [Worker-6: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 09:49:44,162 [Worker-6: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 10:36:45,728 [Worker-23: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 10:36:45,729 [Worker-23: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 10:50:29,647 [Worker-28: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 10:50:29,647 [Worker-28: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 11:01:14,463 [Worker-29: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2019-12-10 11:03:12,612 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 11:03:12,612 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 11:05:38,187 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 11:05:38,188 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 11:06:18,923 [Worker-29: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 11:06:18,924 [Worker-29: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 11:07:21,371 [Worker-34: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 11:07:21,371 [Worker-34: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-10 11:12:40,906 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-10 11:12:40,907 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-11 10:14:05,017 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-11 10:14:05,018 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-11 11:09:47,445 [Worker-394: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-11 11:09:47,445 [Worker-394: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-11 12:55:43,050 [Worker-438: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-11 12:55:43,051 [Worker-438: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-11 13:05:51,413 [Worker-441: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-11 13:05:51,414 [Worker-441: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-11 13:08:59,060 [Worker-443: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-11 13:08:59,060 [Worker-443: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-11 14:52:17,135 [Worker-479: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-11 14:52:17,135 [Worker-479: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-11 15:00:34,827 [Worker-482: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-11 15:00:34,828 [Worker-482: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 11:28:01,835 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2019-12-12 11:31:25,875 [Worker-14: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2019-12-12 11:51:55,358 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 11:51:55,360 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 11:58:12,563 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 11:58:12,563 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 12:34:11,834 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 12:34:11,835 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 12:38:35,194 [Worker-36: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 12:38:35,194 [Worker-36: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 12:43:27,204 [Worker-37: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 12:43:27,204 [Worker-37: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 14:20:46,423 [Worker-44: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 14:20:46,423 [Worker-44: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 14:35:16,172 [Worker-50: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 14:35:16,173 [Worker-50: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 14:38:35,436 [Worker-52: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 14:38:35,436 [Worker-52: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 15:11:58,009 [Worker-58: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 15:11:58,010 [Worker-58: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 15:21:05,040 [Worker-59: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 15:21:05,040 [Worker-59: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 15:22:07,437 [Worker-64: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 15:22:07,438 [Worker-64: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 15:23:39,755 [Worker-64: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 15:23:39,755 [Worker-64: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 15:27:33,104 [Worker-67: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 15:27:33,105 [Worker-67: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-12 15:31:06,222 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-12 15:31:06,222 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 09:16:54,402 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 09:16:54,402 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 09:41:33,476 [Worker-388: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 09:41:33,476 [Worker-388: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 09:46:06,747 [Worker-392: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 09:46:06,747 [Worker-392: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 09:53:08,630 [Worker-399: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 09:53:08,630 [Worker-399: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 09:56:43,258 [Worker-399: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 09:56:43,259 [Worker-399: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 10:05:57,820 [Worker-406: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 10:05:57,820 [Worker-406: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 10:08:15,472 [Worker-408: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 10:08:15,473 [Worker-408: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 11:25:55,985 [Worker-419: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 11:25:55,985 [Worker-419: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 15:37:16,341 [Worker-459: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 15:37:16,342 [Worker-459: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 16:23:03,886 [Worker-483: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 16:23:03,886 [Worker-483: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 16:26:03,864 [Worker-483: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 16:26:03,864 [Worker-483: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-13 16:27:33,619 [Worker-489: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-13 16:27:33,619 [Worker-489: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-17 09:39:10,856 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2019-12-17 09:44:00,633 [Worker-19: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-17 09:44:00,635 [Worker-19: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-17 09:53:44,345 [Worker-18: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-17 09:53:44,345 [Worker-18: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-17 11:38:13,242 [Worker-31: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-17 11:38:13,243 [Worker-31: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-17 11:46:07,571 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-17 11:46:07,571 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-17 11:48:44,186 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-17 11:48:44,186 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-17 12:05:01,799 [Worker-37: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-17 12:05:01,800 [Worker-37: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-18 09:42:33,672 [Worker-333: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-18 09:42:33,673 [Worker-333: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:03:13,623 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2019-12-19 09:12:44,471 [Worker-20: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:12:44,474 [Worker-20: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:20:15,385 [Worker-24: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:20:15,386 [Worker-24: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:24:19,111 [Worker-25: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:24:19,111 [Worker-25: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:32:13,375 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:32:13,375 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:35:08,092 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:35:08,092 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:36:49,419 [Worker-34: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2019-12-19 09:43:05,507 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:43:05,507 [Worker-33: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:54:38,191 [Worker-38: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:54:38,192 [Worker-38: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 09:59:40,681 [Worker-41: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 09:59:40,681 [Worker-41: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 14:47:47,345 [Worker-60: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 14:47:47,345 [Worker-60: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 14:49:10,273 [Worker-55: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 14:49:10,274 [Worker-55: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 14:50:20,256 [Worker-60: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 14:50:20,256 [Worker-60: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 14:53:02,956 [Worker-64: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 14:53:02,956 [Worker-64: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 15:27:11,131 [Worker-72: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 15:27:11,131 [Worker-72: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 15:37:50,195 [Worker-78: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 15:37:50,196 [Worker-78: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 15:42:04,038 [Worker-83: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 15:42:04,038 [Worker-83: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 15:50:46,988 [Worker-84: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 15:50:46,988 [Worker-84: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 15:52:08,352 [Worker-84: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 15:52:08,353 [Worker-84: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 15:55:02,999 [Worker-90: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 15:55:02,999 [Worker-90: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 16:20:09,879 [Worker-93: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 16:20:09,880 [Worker-93: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 16:24:48,657 [Worker-99: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 16:24:48,658 [Worker-99: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 16:30:18,292 [Worker-102: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 16:30:18,293 [Worker-102: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 16:32:28,080 [Worker-104: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 16:32:28,081 [Worker-104: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 16:49:33,415 [Worker-108: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 16:49:33,415 [Worker-108: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2019-12-19 16:50:33,519 [Worker-101: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2019-12-19 16:50:33,519 [Worker-101: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-08 09:09:22,995 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-01-08 14:14:49,271 [Worker-87: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-08 14:14:49,271 [Worker-87: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-08 14:52:46,191 [Worker-87: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-08 14:52:46,191 [Worker-87: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-08 14:55:29,370 [Worker-94: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices2\pom.xml.
+2020-01-08 14:55:31,120 [Worker-94: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-01-08 14:55:32,026 [Worker-99: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-08 14:55:32,026 [Worker-99: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\main\resources
+2020-01-08 14:55:32,042 [Worker-99: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-08 14:55:32,042 [Worker-99: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\test\resources
+2020-01-08 14:55:32,042 [Worker-99: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-01-08 14:55:32,042 [Worker-99: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-01-08 14:55:32,104 [Worker-99: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-08 14:59:18,425 [Worker-100: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-08 14:59:18,425 [Worker-100: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-08 15:33:22,494 [Worker-110: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-01-08 15:33:55,297 [Worker-110: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-08 15:33:55,313 [Worker-110: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\main\resources
+2020-01-08 15:33:55,313 [Worker-110: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-08 15:33:55,313 [Worker-110: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\test\resources
+2020-01-08 15:33:55,313 [Worker-110: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-01-08 15:33:55,313 [Worker-110: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-01-08 15:33:55,359 [Worker-110: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-09 08:55:38,230 [Worker-311: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 08:55:38,230 [Worker-311: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 09:13:50,506 [Worker-316: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 09:13:50,506 [Worker-316: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 09:18:25,229 [Worker-316: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 09:18:25,229 [Worker-316: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 09:45:49,438 [Worker-325: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 09:45:49,438 [Worker-325: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 11:39:23,599 [Worker-362: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-09 11:44:11,438 [Worker-361: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 11:44:11,438 [Worker-361: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 11:52:43,846 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-01-09 13:41:16,697 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 13:41:16,697 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 14:20:51,512 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 14:20:51,512 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 14:30:23,785 [Worker-51: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 14:30:23,785 [Worker-51: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 14:35:04,830 [Worker-40: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-09 15:04:10,365 [Worker-65: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 15:04:10,365 [Worker-65: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 15:06:50,772 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 15:06:50,772 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-09 15:19:34,250 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-09 15:19:34,250 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-10 13:23:54,624 [Worker-367: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-10 13:23:54,624 [Worker-367: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-10 13:58:15,275 [Worker-382: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-10 13:58:15,275 [Worker-382: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 09:47:21,452 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-01-13 10:38:09,069 [Worker-32: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-13 11:17:48,464 [Worker-39: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 11:17:48,464 [Worker-39: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 11:20:14,304 [Worker-39: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 11:20:14,304 [Worker-39: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 11:25:16,896 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 11:25:16,896 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 11:28:38,588 [Worker-49: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 11:28:38,588 [Worker-49: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 11:30:41,492 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 11:30:41,492 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 11:56:40,074 [Worker-65: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 11:56:40,074 [Worker-65: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 12:01:08,287 [Worker-69: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 12:01:08,287 [Worker-69: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 12:01:27,199 [Worker-49: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 12:01:27,199 [Worker-49: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 12:05:33,923 [Worker-73: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 12:05:33,923 [Worker-73: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 12:06:38,894 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 12:06:38,894 [Worker-68: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 13:42:48,276 [Worker-94: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 13:42:48,276 [Worker-94: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 13:45:08,017 [Worker-88: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 13:45:08,017 [Worker-88: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 13:53:35,509 [Worker-89: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 13:53:35,509 [Worker-89: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:05:30,534 [Worker-96: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:05:30,534 [Worker-96: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:13:20,532 [Worker-96: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:13:20,532 [Worker-96: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:16:31,051 [Worker-108: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:16:31,051 [Worker-108: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:17:49,412 [Worker-96: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:17:49,412 [Worker-96: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:19:14,171 [Worker-109: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:19:14,171 [Worker-109: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:30:03,928 [Worker-114: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:30:03,928 [Worker-114: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:41:37,804 [Worker-118: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:41:37,804 [Worker-118: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 14:49:33,770 [Worker-123: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 14:49:33,770 [Worker-123: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 15:12:28,862 [Worker-131: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 15:12:28,862 [Worker-131: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 15:14:29,420 [Worker-132: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 15:14:29,420 [Worker-132: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-13 15:36:04,570 [Worker-132: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-13 15:36:04,570 [Worker-132: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-14 09:04:48,317 [Worker-339: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-14 09:04:48,317 [Worker-339: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-14 12:08:02,090 [Worker-424: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-14 12:08:02,090 [Worker-424: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-14 12:10:06,058 [Worker-422: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-14 12:10:06,058 [Worker-422: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-14 12:14:35,230 [Worker-431: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-14 12:14:35,230 [Worker-431: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-14 12:22:24,814 [Worker-429: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-14 12:22:24,814 [Worker-429: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-14 12:31:06,755 [Worker-434: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-14 12:31:06,755 [Worker-434: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 09:00:07,042 [Worker-762: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 09:00:07,042 [Worker-762: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 09:13:21,622 [Worker-770: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 09:13:21,622 [Worker-770: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 09:24:03,975 [Worker-773: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 09:24:03,991 [Worker-773: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 09:30:30,900 [Worker-776: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 09:30:30,900 [Worker-776: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 09:35:59,774 [Worker-777: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 09:35:59,790 [Worker-777: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 10:02:29,473 [Worker-797: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 10:02:29,473 [Worker-797: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 10:10:36,440 [Worker-796: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 10:10:36,440 [Worker-796: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 10:40:49,027 [Worker-808: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 10:40:49,027 [Worker-808: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 10:41:51,596 [Worker-806: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 10:41:51,596 [Worker-806: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 10:51:27,227 [Worker-812: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 10:51:27,227 [Worker-812: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 14:39:18,732 [Worker-871: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 14:39:18,732 [Worker-871: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 15:03:33,228 [Worker-887: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 15:03:33,228 [Worker-887: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 15:07:52,431 [Worker-876: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 15:07:52,431 [Worker-876: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 15:50:55,371 [Worker-917: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 15:50:55,371 [Worker-917: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 15:53:03,270 [Worker-918: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 15:53:03,270 [Worker-918: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 16:01:37,887 [Worker-924: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 16:01:37,887 [Worker-924: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:19:44,078 [Worker-955: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:19:44,078 [Worker-955: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:28:50,674 [Worker-949: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:28:50,674 [Worker-949: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:38:45,762 [Worker-965: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:38:45,762 [Worker-965: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:40:10,783 [Worker-966: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:40:10,783 [Worker-966: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:44:36,794 [Worker-974: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:44:36,794 [Worker-974: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:48:37,535 [Worker-975: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:48:37,535 [Worker-975: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:51:17,257 [Worker-966: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:51:17,257 [Worker-966: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:53:58,853 [Worker-975: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:53:58,853 [Worker-975: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-15 17:59:40,669 [Worker-982: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-15 17:59:40,669 [Worker-982: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 08:42:44,560 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-01-16 08:52:38,573 [Worker-21: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 08:52:38,576 [Worker-21: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 08:55:11,773 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 08:55:11,774 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 09:23:24,169 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 09:23:24,169 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 09:28:43,110 [Worker-36: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-16 09:37:36,671 [Worker-37: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 09:37:36,671 [Worker-37: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 11:12:43,926 [Worker-72: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 11:12:43,926 [Worker-72: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 11:21:46,148 [Worker-76: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 11:21:46,148 [Worker-76: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 11:27:20,849 [Worker-75: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 11:27:20,849 [Worker-75: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 11:43:22,139 [Worker-82: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 11:43:22,139 [Worker-82: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-16 13:33:02,738 [Worker-107: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-16 13:33:02,738 [Worker-107: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 09:29:15,019 [Worker-341: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 09:29:15,019 [Worker-341: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 09:34:24,136 [Worker-346: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 09:34:24,136 [Worker-346: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 09:43:23,780 [Worker-352: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 09:43:23,780 [Worker-352: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 09:49:42,710 [Worker-354: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 09:49:42,710 [Worker-354: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 09:53:11,383 [Worker-357: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 09:53:11,383 [Worker-357: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 11:52:44,024 [Worker-378: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 11:52:44,024 [Worker-378: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 11:53:25,668 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 11:53:25,668 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-17 13:32:48,241 [Worker-395: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-17 13:32:48,241 [Worker-395: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-20 09:12:38,190 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-01-20 09:26:52,281 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-01-20 10:04:28,705 [Worker-24: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-20 10:05:06,791 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-20 10:05:06,806 [Worker-22: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-20 10:18:01,967 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-20 10:18:01,967 [Worker-30: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-23 11:52:03,865 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-01-24 08:57:06,622 [Worker-234: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 08:57:06,638 [Worker-234: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 09:32:17,821 [Worker-253: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 09:32:17,852 [Worker-253: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 09:32:37,356 [Worker-254: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 09:32:37,356 [Worker-254: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 09:34:56,289 [Worker-258: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-24 10:01:38,257 [Worker-270: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 10:01:38,257 [Worker-270: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 10:03:31,826 [Worker-272: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 10:03:31,826 [Worker-272: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 10:04:45,520 [Worker-272: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 10:04:45,520 [Worker-272: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 10:48:48,685 [Worker-268: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 10:48:48,685 [Worker-268: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 10:55:52,155 [Worker-284: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 10:55:52,155 [Worker-284: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 11:01:08,981 [Worker-290: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 11:01:08,981 [Worker-290: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 11:05:21,345 [Worker-268: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 11:05:21,345 [Worker-268: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 11:17:40,752 [Worker-304: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 11:17:40,752 [Worker-304: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 11:19:43,958 [Worker-302: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 11:19:43,958 [Worker-302: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 11:22:00,087 [Worker-306: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 11:22:00,087 [Worker-306: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 11:23:08,783 [Worker-301: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 11:23:08,783 [Worker-301: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 11:36:57,764 [Worker-309: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 11:36:57,764 [Worker-309: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 12:18:17,921 [Worker-318: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 12:18:17,921 [Worker-318: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 13:08:59,809 [Worker-333: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 13:08:59,825 [Worker-333: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 13:11:09,967 [Worker-334: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 13:11:09,967 [Worker-334: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 13:20:42,875 [Worker-342: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 13:20:42,875 [Worker-342: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 13:27:27,713 [Worker-342: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 13:27:27,713 [Worker-342: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 13:29:01,375 [Worker-347: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 13:29:01,375 [Worker-347: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 13:44:14,629 [Worker-352: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 13:44:14,629 [Worker-352: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:00:13,785 [Worker-356: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:00:13,785 [Worker-356: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:03:56,400 [Worker-367: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:03:56,400 [Worker-367: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:05:19,210 [Worker-368: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices2\pom.xml.
+2020-01-24 14:05:21,101 [Worker-368: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-01-24 14:05:22,101 [Worker-364: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-24 14:05:22,101 [Worker-364: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\main\resources
+2020-01-24 14:05:22,101 [Worker-364: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-24 14:05:22,101 [Worker-364: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\test\resources
+2020-01-24 14:05:22,101 [Worker-364: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-01-24 14:05:22,101 [Worker-364: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-01-24 14:05:22,179 [Worker-364: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-01-24 14:05:32,100 [Worker-371: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:05:32,100 [Worker-371: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:07:31,867 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:07:31,867 [Worker-375: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:15:06,028 [Worker-378: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:15:06,028 [Worker-378: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:17:58,508 [Worker-387: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:17:58,508 [Worker-387: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:39:35,730 [Worker-392: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:39:35,730 [Worker-392: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:41:40,102 [Worker-382: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:41:40,102 [Worker-382: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-24 14:51:53,036 [Worker-397: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-24 14:51:53,036 [Worker-397: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-27 11:01:08,989 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-01-27 14:07:45,697 [Worker-52: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-27 14:07:45,697 [Worker-52: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-27 14:55:46,517 [Worker-79: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-27 15:50:17,776 [Worker-112: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-27 15:50:17,776 [Worker-112: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-27 15:55:03,263 [Worker-119: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-27 15:55:03,263 [Worker-119: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-27 16:48:45,925 [Worker-131: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-27 16:48:45,925 [Worker-131: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-28 09:36:31,646 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-01-28 09:56:58,663 [Worker-5: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-01-28 12:03:09,345 [Worker-55: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-28 12:03:09,345 [Worker-55: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 08:39:31,622 [Worker-490: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 08:39:31,622 [Worker-490: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 09:14:13,537 [Worker-512: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 09:14:13,537 [Worker-512: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 09:24:03,516 [Worker-520: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 09:24:03,516 [Worker-520: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 10:42:35,801 [Worker-530: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 10:42:35,801 [Worker-530: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 10:59:58,242 [Worker-546: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 10:59:58,242 [Worker-546: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 13:32:00,234 [Worker-575: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 13:32:00,234 [Worker-575: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 13:38:47,227 [Worker-574: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 13:38:47,227 [Worker-574: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 13:41:34,973 [Worker-581: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 13:41:34,973 [Worker-581: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 13:43:39,563 [Worker-583: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 13:43:39,563 [Worker-583: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-30 13:47:29,364 [Worker-585: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-30 13:47:29,364 [Worker-585: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-31 09:53:10,954 [Worker-807: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-31 09:53:10,954 [Worker-807: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-01-31 10:03:36,044 [Worker-813: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-01-31 10:03:36,044 [Worker-813: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-11 11:06:44,277 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-02-11 11:26:47,723 [Worker-25: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-11 11:26:47,723 [Worker-25: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-11 11:40:14,284 [Worker-34: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-02-11 11:45:39,603 [Worker-38: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-11 11:45:39,603 [Worker-38: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-11 11:47:48,850 [Worker-43: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-11 11:47:48,850 [Worker-43: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-14 14:18:55,786 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-02-17 09:30:25,562 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-02-17 09:44:20,398 [Worker-23: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-02-17 09:45:16,858 [Worker-23: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 09:45:16,859 [Worker-23: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 10:01:28,493 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 10:01:28,493 [Worker-32: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 10:37:34,429 [Worker-53: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 10:37:34,429 [Worker-53: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 11:06:07,572 [Worker-67: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 11:06:07,572 [Worker-67: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 13:47:39,780 [Worker-98: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 13:47:39,780 [Worker-98: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 14:03:38,853 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-02-17 14:16:54,318 [Worker-16: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 14:16:54,320 [Worker-16: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 14:20:19,783 [Worker-23: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-02-17 14:26:14,423 [Worker-24: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 14:26:14,423 [Worker-24: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 15:33:54,127 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 15:33:54,127 [Worker-48: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-17 15:35:40,672 [Worker-47: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-17 15:35:40,672 [Worker-47: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-18 12:12:01,423 [Worker-216: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-18 12:12:01,423 [Worker-216: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-18 12:14:35,668 [Worker-209: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-18 12:14:35,668 [Worker-209: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-18 12:19:52,289 [Worker-214: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-18 12:19:52,289 [Worker-214: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-18 12:25:29,042 [Worker-221: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-18 12:25:29,042 [Worker-221: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-18 12:35:49,661 [Worker-221: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-18 12:35:49,661 [Worker-221: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 11:46:56,116 [Worker-716: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 11:46:56,116 [Worker-716: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 12:03:38,647 [Worker-717: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 12:03:38,647 [Worker-717: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 12:08:51,182 [Worker-730: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 12:08:51,182 [Worker-730: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 12:19:36,015 [Worker-735: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 12:19:36,015 [Worker-735: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 12:22:31,699 [Worker-731: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 12:22:31,699 [Worker-731: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 15:46:00,881 [Worker-777: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 15:46:00,881 [Worker-777: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 15:48:24,116 [Worker-779: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 15:48:24,116 [Worker-779: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 15:53:43,691 [Worker-779: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 15:53:43,691 [Worker-779: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 15:54:01,632 [Worker-779: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 15:54:01,632 [Worker-779: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 16:04:09,149 [Worker-783: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 16:04:09,149 [Worker-783: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 16:48:13,034 [Worker-798: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 16:48:13,034 [Worker-798: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-20 16:55:14,644 [Worker-803: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-20 16:55:14,644 [Worker-803: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-21 12:53:49,225 [Worker-1071: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-21 12:53:49,279 [Worker-1071: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-21 13:00:15,368 [Worker-1072: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-21 13:00:15,368 [Worker-1072: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-21 13:07:21,892 [Worker-1077: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ F:\Daten\wsp-KorAP-Services\GlemmServices2\pom.xml.
+2020-02-21 13:07:24,116 [Worker-1077: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-02-21 13:07:25,059 [Worker-1069: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar
+2020-02-21 13:07:25,533 [Worker-1069: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar
+2020-02-21 13:07:25,574 [Worker-1078: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-02-21 13:07:25,582 [Worker-1078: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\main\resources
+2020-02-21 13:07:25,584 [Worker-1078: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-02-21 13:07:25,584 [Worker-1078: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory F:\Daten\wsp-KorAP-Services\GlemmServices2\src\test\resources
+2020-02-21 13:07:25,584 [Worker-1078: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-02-21 13:07:25,584 [Worker-1078: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-02-21 13:07:25,662 [Worker-1078: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-02-21 13:07:26,256 [Worker-1069: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for com.fasterxml.jackson.core:jackson-core:2.9.6
+2020-02-21 13:07:26,326 [Worker-1069: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar
+2020-02-21 13:07:26,479 [Worker-1069: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar
+2020-02-21 13:07:26,570 [Worker-1069: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for com.fasterxml.jackson.core:jackson-annotations:2.9.6
+2020-02-21 13:07:26,588 [Worker-1069: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar
+2020-02-21 13:07:26,981 [Worker-1069: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar
+2020-02-21 13:07:27,063 [Worker-1069: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for com.fasterxml.jackson.core:jackson-databind:2.9.6
+2020-02-21 14:16:08,368 [Worker-1094: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-21 14:16:08,384 [Worker-1094: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-02-21 14:21:15,087 [Worker-1092: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-02-21 14:21:15,087 [Worker-1092: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-03 11:57:45,313 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-03-03 12:10:52,793 [Worker-21: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-03-03 12:10:52,794 [Worker-21: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-03 12:25:05,334 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate - F:\Daten\wsp-KorAP-Services\GlemmServices2
+2020-03-03 12:25:05,335 [Worker-27: Launching Executing install in F__Daten_wsp-KorAP-Services_GlemmServices2] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-26 19:14:01,590 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is not available. Remote download required.
+2020-03-26 19:19:21,007 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-03-26 19:24:22,889 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-26 19:24:22,951 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-30 09:42:50,094 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is not available. Remote download required.
+2020-03-30 11:21:31,940 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-30 11:21:31,952 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-30 11:41:18,803 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-03-30 15:59:20,011 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-03-30 16:04:36,067 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-30 16:04:36,081 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-30 17:57:44,586 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
+2020-03-30 17:57:45,128 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
+2020-03-30 17:57:47,195 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.jar
+2020-03-30 17:57:47,327 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.jar
+2020-03-30 17:57:47,546 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.3/maven-site-plugin-3.3.jar
+2020-03-30 17:57:47,844 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.3/maven-site-plugin-3.3.jar
+2020-03-30 17:57:52,808 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\GlemmServices\pom.xml.
+2020-03-30 18:38:38,127 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-30 18:38:38,312 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-30 18:42:48,493 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-03-30 18:45:38,565 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\GlemmServices\pom.xml.
+2020-03-30 18:45:39,609 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.pom
+2020-03-30 18:45:39,676 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.pom
+2020-03-30 18:45:39,733 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.7.1/plexus-containers-1.7.1.pom
+2020-03-30 18:45:39,812 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/1.7.1/plexus-containers-1.7.1.pom
+2020-03-30 18:45:39,960 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.pom
+2020-03-30 18:45:40,010 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.pom
+2020-03-30 18:45:40,097 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.pom
+2020-03-30 18:45:40,165 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.pom
+2020-03-30 18:45:40,323 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.5/plexus-archiver-3.5.pom
+2020-03-30 18:45:40,389 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.5/plexus-archiver-3.5.pom
+2020-03-30 18:45:40,441 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/5.0/plexus-5.0.pom
+2020-03-30 18:45:40,527 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/5.0/plexus-5.0.pom
+2020-03-30 18:45:40,592 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom
+2020-03-30 18:45:40,643 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.pom
+2020-03-30 18:45:40,694 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.0/plexus-io-3.0.0.pom
+2020-03-30 18:45:40,800 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.0/plexus-io-3.0.0.pom
+2020-03-30 18:45:40,853 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom
+2020-03-30 18:45:40,905 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.14/commons-compress-1.14.pom
+2020-03-30 18:45:40,971 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/42/commons-parent-42.pom
+2020-03-30 18:45:41,172 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/42/commons-parent-42.pom
+2020-03-30 18:45:41,252 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.pom
+2020-03-30 18:45:41,300 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.pom
+2020-03-30 18:45:41,388 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/tukaani/xz/1.6/xz-1.6.pom
+2020-03-30 18:45:41,460 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/tukaani/xz/1.6/xz-1.6.pom
+2020-03-30 18:45:41,511 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom
+2020-03-30 18:45:41,628 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.22/plexus-interpolation-1.22.pom
+2020-03-30 18:45:41,701 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom
+2020-03-30 18:45:41,753 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom
+2020-03-30 18:45:41,820 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.pom
+2020-03-30 18:45:41,907 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.pom
+2020-03-30 18:45:41,958 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.pom
+2020-03-30 18:45:42,007 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.pom
+2020-03-30 18:45:42,065 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.pom
+2020-03-30 18:45:42,118 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.pom
+2020-03-30 18:45:42,173 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.pom
+2020-03-30 18:45:42,223 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.pom
+2020-03-30 18:45:42,309 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.pom
+2020-03-30 18:45:42,368 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.pom
+2020-03-30 18:45:42,448 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/43/commons-parent-43.pom
+2020-03-30 18:45:42,701 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/43/commons-parent-43.pom
+2020-03-30 18:45:42,850 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.pom
+2020-03-30 18:45:42,919 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.pom
+2020-03-30 18:45:43,041 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom
+2020-03-30 18:45:43,232 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6.pom
+2020-03-30 18:45:43,297 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.pom
+2020-03-30 18:45:43,348 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.pom
+2020-03-30 18:45:43,415 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.pom
+2020-03-30 18:45:43,530 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.pom
+2020-03-30 18:45:43,638 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.pom
+2020-03-30 18:45:43,738 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.pom
+2020-03-30 18:45:43,857 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1.4.10/xstream-parent-1.4.10.pom
+2020-03-30 18:45:43,942 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1.4.10/xstream-parent-1.4.10.pom
+2020-03-30 18:45:44,066 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom
+2020-03-30 18:45:44,113 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.pom
+2020-03-30 18:45:44,250 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.pom
+2020-03-30 18:45:44,305 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.pom
+2020-03-30 18:45:44,381 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom
+2020-03-30 18:45:44,445 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.pom
+2020-03-30 18:45:44,571 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.pom
+2020-03-30 18:45:44,644 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.0.0/maven-shared-utils-3.0.0.pom
+2020-03-30 18:45:44,714 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/21/maven-shared-components-21.pom
+2020-03-30 18:45:44,767 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/21/maven-shared-components-21.pom
+2020-03-30 18:45:44,820 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/25/maven-parent-25.pom
+2020-03-30 18:45:44,878 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/25/maven-parent-25.pom
+2020-03-30 18:45:44,957 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/apache/15/apache-15.pom
+2020-03-30 18:45:45,087 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/apache/15/apache-15.pom
+2020-03-30 18:45:45,155 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.pom
+2020-03-30 18:45:45,207 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.pom
+2020-03-30 18:45:45,257 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/25/commons-parent-25.pom
+2020-03-30 18:45:45,396 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/25/commons-parent-25.pom
+2020-03-30 18:45:45,492 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9.pom
+2020-03-30 18:45:45,587 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9.pom
+2020-03-30 18:45:45,645 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom
+2020-03-30 18:45:45,726 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom
+2020-03-30 18:45:45,806 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/15/spice-parent-15.pom
+2020-03-30 18:45:45,873 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/15/spice-parent-15.pom
+2020-03-30 18:45:45,981 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
+2020-03-30 18:45:46,048 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/5/forge-parent-5.pom
+2020-03-30 18:45:46,150 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.pom
+2020-03-30 18:45:46,246 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.pom
+2020-03-30 18:45:46,309 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/22/maven-shared-components-22.pom
+2020-03-30 18:45:46,411 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/22/maven-shared-components-22.pom
+2020-03-30 18:45:46,476 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/27/maven-parent-27.pom
+2020-03-30 18:45:46,541 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/27/maven-parent-27.pom
+2020-03-30 18:45:46,596 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/apache/17/apache-17.pom
+2020-03-30 18:45:46,661 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/apache/17/apache-17.pom
+2020-03-30 18:45:46,722 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.pom
+2020-03-30 18:45:46,787 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.pom
+2020-03-30 18:45:46,912 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
+2020-03-30 18:45:46,996 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
+2020-03-30 18:45:47,038 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.jar
+2020-03-30 18:45:47,459 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.jar
+2020-03-30 18:45:47,491 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.jar
+2020-03-30 18:45:47,605 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.0/maven-shared-utils-3.2.0.jar
+2020-03-30 18:45:47,645 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.jar
+2020-03-30 18:45:47,768 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/3.6.0/plexus-archiver-3.6.0.jar
+2020-03-30 18:45:47,807 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.jar
+2020-03-30 18:45:47,930 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.0.1/plexus-io-3.0.1.jar
+2020-03-30 18:45:47,970 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.jar
+2020-03-30 18:45:48,212 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.16.1/commons-compress-1.16.1.jar
+2020-03-30 18:45:48,246 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.jar
+2020-03-30 18:45:48,328 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.jar
+2020-03-30 18:45:48,366 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.jar
+2020-03-30 18:45:48,445 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/iq80/snappy/snappy/0.4/snappy-0.4.jar
+2020-03-30 18:45:48,486 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.jar
+2020-03-30 18:45:48,571 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/tukaani/xz/1.8/xz-1.8.jar
+2020-03-30 18:45:48,609 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar
+2020-03-30 18:45:48,701 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar
+2020-03-30 18:45:48,741 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.jar
+2020-03-30 18:45:48,998 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.jar
+2020-03-30 18:45:49,033 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar
+2020-03-30 18:45:49,135 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/xmlpull/xmlpull/1.1.3.1/xmlpull-1.1.3.1.jar
+2020-03-30 18:45:49,169 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar
+2020-03-30 18:45:49,284 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar
+2020-03-30 18:45:49,332 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
+2020-03-30 18:45:49,482 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
+2020-03-30 18:45:49,524 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar
+2020-03-30 18:45:49,598 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar
+2020-03-30 18:45:49,636 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
+2020-03-30 18:45:49,750 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
+2020-03-30 18:45:49,791 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.jar
+2020-03-30 18:45:50,054 [Worker-3: Cleaning all projects] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-mapping/3.0.0/maven-mapping-3.0.0.jar
+2020-03-30 18:45:57,883 [Worker-3: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-03-30 18:45:58,994 [Worker-7: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1-sources.jar
+2020-03-30 18:45:59,164 [Worker-7: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/junit/junit/3.8.1/junit-3.8.1-sources.jar
+2020-03-30 18:46:00,781 [Worker-7: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for junit:junit:3.8.1
+2020-03-30 18:46:00,821 [Worker-7: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar
+2020-03-30 18:46:00,948 [Worker-7: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar
+2020-03-30 18:46:02,147 [Worker-7: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for javax.servlet:servlet-api:2.5
+2020-03-30 18:46:02,191 [Worker-7: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/javax/ws/rs/javax.ws.rs-api/2.0/javax.ws.rs-api-2.0-sources.jar
+2020-03-30 18:46:02,330 [Worker-7: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/javax/ws/rs/javax.ws.rs-api/2.0/javax.ws.rs-api-2.0-sources.jar
+2020-03-30 18:46:02,733 [Worker-7: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for javax.ws.rs:javax.ws.rs-api:2.0
+2020-03-30 18:46:04,991 [Worker-12: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-30 18:46:05,018 [Worker-12: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-03-30 18:46:05,021 [Worker-12: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-30 18:46:05,023 [Worker-12: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-03-30 18:46:05,024 [Worker-12: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-03-30 18:46:05,024 [Worker-12: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-03-30 18:46:05,030 [Worker-12: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is missing, no dependency information available
+2020-03-30 18:46:05,104 [Worker-12: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-30 18:50:50,051 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-30 18:50:50,051 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-30 19:03:51,994 [Worker-6: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\GlemmServices\pom.xml.
+2020-03-30 19:04:03,106 [Worker-6: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-30 19:04:03,490 [Worker-6: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-03-30 19:04:03,503 [Worker-6: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-30 19:04:03,551 [Worker-6: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-03-30 19:04:04,052 [Worker-6: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-03-30 19:04:04,053 [Worker-6: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-03-30 19:04:04,081 [Worker-6: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-30 19:04:04,233 [Worker-16: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar
+2020-03-30 19:04:04,716 [Worker-16: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar
+2020-03-30 19:04:05,753 [Worker-16: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for com.fasterxml.jackson.core:jackson-core:2.9.6
+2020-03-30 19:04:05,806 [Worker-16: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar
+2020-03-30 19:04:05,950 [Worker-16: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar
+2020-03-30 19:04:06,442 [Worker-16: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for com.fasterxml.jackson.core:jackson-annotations:2.9.6
+2020-03-30 19:04:06,500 [Worker-16: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar
+2020-03-30 19:04:07,306 [Worker-16: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar
+2020-03-30 19:04:07,949 [Worker-16: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for com.fasterxml.jackson.core:jackson-databind:2.9.6
+2020-03-30 19:07:33,969 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-30 19:07:33,969 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 09:34:10,481 [Worker-59: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-03-31 09:41:23,336 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 09:41:23,337 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 09:42:53,465 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 09:42:53,466 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 09:44:03,683 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 09:44:03,683 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 10:05:09,246 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 10:05:09,247 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 10:57:43,290 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 10:57:43,291 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 11:20:50,593 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 11:20:50,606 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 11:22:46,303 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 11:22:46,303 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 11:23:06,083 [Worker-72: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\GlemmServices\pom.xml.
+2020-03-31 11:23:13,185 [Worker-72: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-03-31 11:23:15,639 [Worker-70: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-31 11:23:15,689 [Worker-70: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-03-31 11:23:15,709 [Worker-70: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-31 11:23:15,711 [Worker-70: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-03-31 11:23:15,712 [Worker-70: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-03-31 11:23:15,712 [Worker-70: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-03-31 11:23:15,727 [Worker-70: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-31 11:23:33,204 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 11:23:33,204 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 11:26:04,121 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 11:26:04,121 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 11:27:15,086 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 11:27:15,087 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 11:28:14,901 [Worker-70: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 11:28:14,901 [Worker-70: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 11:30:20,959 [Worker-74: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-03-31 11:30:21,272 [Worker-70: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-31 11:30:21,355 [Worker-70: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-03-31 11:30:21,357 [Worker-70: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-31 11:30:21,361 [Worker-70: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-03-31 11:30:21,362 [Worker-70: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-03-31 11:30:21,362 [Worker-70: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-03-31 11:30:21,367 [Worker-70: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-03-31 11:31:07,101 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 11:31:07,101 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 16:53:32,077 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-03-31 17:15:58,088 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 17:15:58,111 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 17:20:41,677 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 17:20:41,677 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 17:22:40,754 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-03-31 17:22:40,755 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-03-31 19:19:39,017 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-03-31 19:20:20,584 [Worker-4: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-01 09:52:32,949 [Worker-38: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-01 09:52:41,586 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-01 09:52:41,646 [Worker-37: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-04-01 09:52:41,649 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-01 09:52:41,652 [Worker-37: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-04-01 09:52:41,654 [Worker-37: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-04-01 09:52:41,655 [Worker-37: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-04-01 09:52:41,726 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is missing, no dependency information available
+2020-04-01 09:52:41,892 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-01 09:53:47,236 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-04-01 09:53:47,237 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-02 10:54:43,677 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-02 11:02:39,803 [Worker-5: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-02 11:51:15,773 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-04-02 11:51:15,774 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-02 15:18:09,027 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-04-02 15:18:09,027 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-03 18:09:47,286 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-03 19:00:08,105 [Worker-21: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-03 20:34:56,005 [Worker-25: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-03 20:34:56,013 [Worker-25: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-04-03 20:34:56,015 [Worker-25: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-03 20:34:56,017 [Worker-25: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-04-04 11:38:34,801 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
+2020-04-04 11:38:35,244 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar
+2020-04-04 11:38:41,566 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Project-Tests\pom.xml.
+2020-04-04 11:38:42,514 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
+2020-04-04 11:38:42,568 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom
+2020-04-04 11:38:42,622 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
+2020-04-04 11:38:42,720 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
+2020-04-04 11:38:43,470 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
+2020-04-04 11:38:43,578 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom
+2020-04-04 11:38:44,123 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
+2020-04-04 11:38:44,250 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom
+2020-04-04 11:38:44,318 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
+2020-04-04 11:38:44,499 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom
+2020-04-04 11:38:44,555 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
+2020-04-04 11:38:44,616 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/16/spice-parent-16.pom
+2020-04-04 11:38:44,837 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
+2020-04-04 11:38:44,949 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom
+2020-04-04 11:38:45,014 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
+2020-04-04 11:38:45,323 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom
+2020-04-04 11:38:45,377 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
+2020-04-04 11:38:45,457 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom
+2020-04-04 11:38:45,512 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
+2020-04-04 11:38:48,361 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom
+2020-04-04 11:38:48,449 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.pom
+2020-04-04 11:38:48,576 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.pom
+2020-04-04 11:38:48,885 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
+2020-04-04 11:38:49,248 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar
+2020-04-04 11:38:49,284 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
+2020-04-04 11:38:49,377 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar
+2020-04-04 11:38:49,418 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
+2020-04-04 11:38:49,536 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar
+2020-04-04 11:38:49,577 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
+2020-04-04 11:38:49,652 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar
+2020-04-04 11:38:49,696 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar
+2020-04-04 11:38:49,852 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.jar
+2020-04-04 11:38:49,893 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+2020-04-04 11:38:50,014 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
+2020-04-04 11:38:52,392 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Tests/src
+2020-04-04 11:38:52,393 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Tests/src/test/java because it overlaps with /Tests/src
+2020-04-04 11:38:53,678 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-04 11:38:54,834 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Project-Tests\pom.xml.
+2020-04-04 11:38:55,163 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Tests/src
+2020-04-04 11:38:55,164 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Tests/src/test/java because it overlaps with /Tests/src
+2020-04-04 11:38:55,301 [Worker-168: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 1 sec
+2020-04-04 11:40:15,452 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-04 11:40:41,384 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-04 11:41:07,367 [Worker-171: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 11:41:07,367 [Worker-171: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 11:45:53,464 [Worker-164: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 11:45:53,492 [Worker-164: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 11:45:53,496 [Worker-164: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 11:45:53,499 [Worker-164: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 11:49:08,087 [Worker-169: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 11:49:08,087 [Worker-169: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 11:49:25,501 [Worker-169: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 11:49:25,516 [Worker-169: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 11:49:25,518 [Worker-169: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 11:49:25,520 [Worker-169: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 11:56:38,010 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 11:56:38,011 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 11:56:51,392 [Worker-167: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 11:56:51,393 [Worker-167: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 11:56:51,394 [Worker-167: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 11:56:51,421 [Worker-167: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:03:11,621 [Worker-172: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:03:11,621 [Worker-172: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:04:24,147 [Worker-172: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:04:24,149 [Worker-172: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-04-04 12:04:24,151 [Worker-172: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:04:24,153 [Worker-172: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-04-04 12:04:24,230 [Worker-172: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:04:24,232 [Worker-172: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 12:04:24,233 [Worker-172: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:04:24,235 [Worker-172: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:04:34,366 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:04:34,366 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:05:45,591 [Worker-164: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:05:45,591 [Worker-164: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:09:19,649 [Worker-174: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:09:19,651 [Worker-174: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 12:09:19,652 [Worker-174: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:09:19,654 [Worker-174: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:11:17,287 [Worker-173: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:11:17,289 [Worker-173: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 12:11:17,293 [Worker-173: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:11:17,297 [Worker-173: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:12:13,733 [Worker-164: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:12:13,733 [Worker-164: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:12:59,977 [Worker-164: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:12:59,983 [Worker-164: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 12:12:59,986 [Worker-164: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:12:59,989 [Worker-164: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:16:13,063 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-04 12:16:39,694 [Worker-7: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-04 12:18:01,723 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:18:01,724 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:18:33,664 [Worker-6: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:18:33,667 [Worker-6: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 12:18:33,671 [Worker-6: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:18:33,673 [Worker-6: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:27:02,920 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:27:02,921 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:27:17,725 [Worker-1: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:27:17,740 [Worker-1: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 12:27:17,742 [Worker-1: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:27:17,750 [Worker-1: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:35:36,318 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:35:36,318 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:35:54,986 [Worker-16: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:35:54,988 [Worker-16: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 12:35:54,989 [Worker-16: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 12:35:54,991 [Worker-16: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 12:58:08,977 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:58:08,978 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 12:58:53,915 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 12:58:53,916 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 13:00:39,584 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 13:00:39,584 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 13:00:54,031 [Worker-17: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:00:54,033 [Worker-17: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 13:00:54,035 [Worker-17: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:00:54,037 [Worker-17: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 13:02:17,966 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 13:02:17,966 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 13:02:29,529 [Worker-12: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:02:29,531 [Worker-12: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 13:02:29,532 [Worker-12: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:02:29,555 [Worker-12: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 13:28:06,451 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 13:28:06,452 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 13:28:25,162 [Worker-23: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:28:25,184 [Worker-23: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 13:28:25,185 [Worker-23: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:28:25,187 [Worker-23: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 13:30:38,730 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 13:30:38,730 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 13:30:51,977 [Worker-16: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:30:51,979 [Worker-16: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 13:30:51,980 [Worker-16: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 13:30:51,982 [Worker-16: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 18:32:54,788 [Worker-49: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 18:32:54,834 [Worker-49: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-04 18:32:54,835 [Worker-49: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-04 18:32:54,837 [Worker-49: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-04 18:36:30,665 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 18:36:30,666 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 18:39:35,079 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 18:39:35,079 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-04 18:43:02,681 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-04 18:43:02,681 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 08:13:20,089 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-06 11:51:03,244 [Worker-43: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-06 11:52:53,295 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 11:52:53,296 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 11:54:32,719 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 11:54:32,720 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 11:54:54,520 [Worker-43: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 11:54:54,530 [Worker-43: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 11:54:54,534 [Worker-43: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 11:54:54,537 [Worker-43: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 12:00:19,773 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 12:00:19,773 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 12:00:46,865 [Worker-47: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 12:00:46,867 [Worker-47: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 12:00:46,870 [Worker-47: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 12:00:46,871 [Worker-47: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 12:39:36,626 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 12:39:36,741 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:18:13,042 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 15:18:13,045 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:18:24,601 [Worker-80: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:18:24,607 [Worker-80: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 15:18:24,610 [Worker-80: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:18:24,612 [Worker-80: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 15:21:18,858 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 15:21:18,858 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:21:31,393 [Worker-81: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:21:31,395 [Worker-81: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 15:21:31,397 [Worker-81: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:21:31,400 [Worker-81: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 15:23:51,851 [Worker-82: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 15:23:51,851 [Worker-82: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:24:17,749 [Worker-80: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 15:24:17,749 [Worker-80: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:24:34,027 [Worker-81: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:24:34,030 [Worker-81: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 15:24:34,033 [Worker-81: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:24:34,049 [Worker-81: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 15:30:22,259 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 15:30:22,260 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:31:33,546 [Worker-85: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:31:33,548 [Worker-85: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 15:31:33,550 [Worker-85: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:31:33,552 [Worker-85: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 15:48:20,709 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 15:48:20,710 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:48:34,651 [Worker-105: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:48:34,653 [Worker-105: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 15:48:34,655 [Worker-105: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:48:34,657 [Worker-105: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 15:51:52,433 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 15:51:52,433 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 15:52:04,286 [Worker-108: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:52:04,288 [Worker-108: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 15:52:04,290 [Worker-108: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 15:52:04,292 [Worker-108: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 16:02:07,767 [Worker-110: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 16:02:07,768 [Worker-110: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 16:02:20,132 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 16:02:20,133 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 16:02:20,134 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] WARN  o.e.m.i.l.MavenLaunchExtensionsSupport - Unknown or unsupported source locator org.eclipse.jdt.internal.launching.sourcelookup.advanced.AdvancedSourceLookupDirector
+2020-04-06 16:02:38,914 [Worker-114: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 16:02:38,919 [Worker-114: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 16:02:38,922 [Worker-114: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 16:02:38,925 [Worker-114: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 16:45:33,240 [Worker-127: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 16:45:33,240 [Worker-127: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 16:45:44,181 [Worker-126: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 16:45:44,183 [Worker-126: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 16:45:44,186 [Worker-126: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 16:45:44,188 [Worker-126: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-06 16:46:20,958 [Worker-124: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-06 16:46:20,958 [Worker-124: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-06 16:46:33,145 [Worker-119: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 16:46:33,149 [Worker-119: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-06 16:46:33,153 [Worker-119: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-06 16:46:33,156 [Worker-119: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 08:34:39,054 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-07 08:37:44,459 [Worker-2: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:37:44,461 [Worker-2: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 08:37:44,464 [Worker-2: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:37:44,465 [Worker-2: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 08:39:17,386 [Worker-18: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-07 08:39:43,192 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 08:39:43,193 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 08:40:00,938 [Worker-9: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:40:00,940 [Worker-9: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 08:40:00,943 [Worker-9: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:40:00,945 [Worker-9: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 08:42:51,648 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 08:42:51,648 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 08:43:05,817 [Worker-15: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:43:05,820 [Worker-15: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 08:43:05,823 [Worker-15: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:43:05,826 [Worker-15: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 08:44:18,813 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 08:44:18,813 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 08:44:28,654 [Worker-15: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:44:28,656 [Worker-15: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 08:44:28,658 [Worker-15: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 08:44:28,659 [Worker-15: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 09:05:34,903 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 09:05:34,903 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 09:18:41,471 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 09:18:41,471 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 09:19:01,512 [Worker-34: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 09:19:01,514 [Worker-34: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 09:19:01,517 [Worker-34: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 09:19:01,521 [Worker-34: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 09:56:55,214 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 09:56:55,215 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 09:57:12,699 [Worker-44: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 09:57:12,701 [Worker-44: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 09:57:12,704 [Worker-44: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 09:57:12,706 [Worker-44: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 10:02:41,142 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 10:02:41,142 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 10:02:52,066 [Worker-45: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:02:52,068 [Worker-45: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 10:02:52,070 [Worker-45: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:02:52,072 [Worker-45: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 10:55:56,376 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 10:55:56,377 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 10:56:41,877 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 10:56:41,878 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 10:56:53,883 [Worker-59: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:56:53,885 [Worker-59: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 10:56:53,888 [Worker-59: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:56:53,889 [Worker-59: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 10:57:21,555 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 10:57:21,555 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 10:57:33,438 [Worker-55: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:57:33,440 [Worker-55: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 10:57:33,442 [Worker-55: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:57:33,444 [Worker-55: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 10:58:02,723 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 10:58:02,723 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 10:58:14,614 [Worker-57: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:58:14,616 [Worker-57: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 10:58:14,618 [Worker-57: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 10:58:14,620 [Worker-57: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 11:04:38,452 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 11:04:38,452 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 11:04:49,695 [Worker-58: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 11:04:49,696 [Worker-58: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 11:04:49,698 [Worker-58: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 11:04:49,699 [Worker-58: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 11:09:45,923 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 11:09:45,923 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 11:09:56,118 [Worker-60: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 11:09:56,120 [Worker-60: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 11:09:56,122 [Worker-60: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 11:09:56,124 [Worker-60: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 11:14:34,450 [Worker-64: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 11:14:34,450 [Worker-64: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 11:14:48,887 [Worker-64: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 11:14:48,889 [Worker-64: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 11:14:48,890 [Worker-64: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 11:14:48,892 [Worker-64: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 14:07:14,575 [Worker-83: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 14:07:14,576 [Worker-83: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 14:14:10,599 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 14:14:10,599 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 14:14:25,725 [Worker-84: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 14:14:25,727 [Worker-84: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 14:14:25,729 [Worker-84: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 14:14:25,731 [Worker-84: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 14:16:23,467 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 14:16:23,467 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 14:16:37,352 [Worker-84: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 14:16:37,354 [Worker-84: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 14:16:37,355 [Worker-84: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 14:16:37,356 [Worker-84: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 14:31:56,431 [Worker-85: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 14:31:56,432 [Worker-85: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 14:32:17,336 [Worker-85: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 14:32:17,475 [Worker-85: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 14:32:17,477 [Worker-85: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 14:32:17,479 [Worker-85: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 15:51:52,105 [Worker-116: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 15:51:52,106 [Worker-116: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 15:52:22,476 [Worker-118: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 15:52:22,478 [Worker-118: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 15:52:22,480 [Worker-118: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 15:52:22,481 [Worker-118: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-07 17:41:23,829 [Worker-140: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-07 17:41:23,829 [Worker-140: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-07 17:41:35,761 [Worker-143: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 17:41:35,763 [Worker-143: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-07 17:41:35,765 [Worker-143: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-07 17:41:35,767 [Worker-143: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-08 08:10:35,411 [Worker-12: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-08 08:11:15,825 [Worker-18: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-08 08:11:24,449 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-08 08:11:24,450 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-08 08:11:45,576 [Worker-16: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 08:11:45,578 [Worker-16: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-08 08:11:45,581 [Worker-16: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 08:11:45,583 [Worker-16: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-08 12:35:10,309 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-08 12:35:10,311 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-08 12:35:37,028 [Worker-41: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 12:35:37,039 [Worker-41: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-08 12:35:37,042 [Worker-41: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 12:35:37,044 [Worker-41: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-08 12:36:39,856 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-08 12:36:39,856 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-08 12:36:57,623 [Worker-41: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 12:36:57,625 [Worker-41: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-08 12:36:57,626 [Worker-41: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 12:36:57,627 [Worker-41: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-08 14:23:37,389 [Worker-56: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-08 14:23:37,389 [Worker-56: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-08 14:23:52,145 [Worker-52: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 14:23:52,149 [Worker-52: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-08 14:23:52,151 [Worker-52: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 14:23:52,157 [Worker-52: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-08 14:50:06,093 [Worker-69: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-08 14:50:06,280 [Worker-69: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-08 14:50:51,581 [Worker-67: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 14:50:51,585 [Worker-67: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-08 14:50:51,587 [Worker-67: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 14:50:51,622 [Worker-67: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-08 15:11:49,161 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-08 15:11:49,162 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-08 15:12:00,757 [Worker-68: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 15:12:00,759 [Worker-68: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-08 15:12:00,761 [Worker-68: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 15:12:00,763 [Worker-68: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-08 15:13:55,521 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-08 15:13:55,521 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-08 15:14:07,028 [Worker-73: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 15:14:07,030 [Worker-73: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-08 15:14:07,032 [Worker-73: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-08 15:14:07,033 [Worker-73: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 09:02:05,704 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-09 09:59:51,308 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 09:59:51,309 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 10:25:00,060 [Worker-25: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:25:00,062 [Worker-25: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 10:25:00,065 [Worker-25: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:25:00,067 [Worker-25: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 10:27:30,472 [Worker-24: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 10:27:30,472 [Worker-24: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 10:27:43,025 [Worker-24: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:27:43,029 [Worker-24: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 10:27:43,032 [Worker-24: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:27:43,035 [Worker-24: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 10:39:02,545 [Worker-29: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:39:02,548 [Worker-29: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 10:39:02,550 [Worker-29: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:39:02,553 [Worker-29: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 10:51:06,451 [Worker-26: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-09 10:51:51,420 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 10:51:51,420 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 10:52:03,626 [Worker-33: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:52:03,628 [Worker-33: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 10:52:03,630 [Worker-33: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:52:03,632 [Worker-33: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 10:58:08,737 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 10:58:08,737 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 10:58:26,198 [Worker-38: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:58:26,200 [Worker-38: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 10:58:26,201 [Worker-38: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 10:58:26,204 [Worker-38: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 11:18:41,921 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 11:18:41,921 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 11:19:06,830 [Worker-32: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 11:19:06,833 [Worker-32: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 11:19:06,834 [Worker-32: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 11:19:06,836 [Worker-32: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 16:47:11,238 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 16:47:11,239 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 16:48:02,184 [Worker-31: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:48:02,186 [Worker-31: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 16:48:02,188 [Worker-31: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:48:02,191 [Worker-31: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 16:49:25,270 [Worker-38: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:49:25,273 [Worker-38: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 16:49:25,275 [Worker-38: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:49:25,276 [Worker-38: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 16:50:44,894 [Worker-41: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:50:44,896 [Worker-41: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 16:50:44,898 [Worker-41: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:50:44,899 [Worker-41: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 16:52:21,003 [Worker-50: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:52:21,005 [Worker-50: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 16:52:21,007 [Worker-50: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:52:21,009 [Worker-50: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 16:57:22,114 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 16:57:22,114 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 16:57:35,019 [Worker-46: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:57:35,021 [Worker-46: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 16:57:35,022 [Worker-46: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 16:57:35,024 [Worker-46: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-09 17:03:35,209 [Worker-56: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-09 17:03:35,209 [Worker-56: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-09 17:03:48,768 [Worker-51: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 17:03:48,770 [Worker-51: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-09 17:03:48,771 [Worker-51: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-09 17:03:48,773 [Worker-51: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-14 15:03:24,701 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-14 15:10:36,486 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 15:10:36,488 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 15:10:57,130 [Worker-5: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-14 15:10:57,133 [Worker-5: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-14 15:10:57,136 [Worker-5: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-14 15:10:57,138 [Worker-5: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-14 15:12:46,641 [Worker-14: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-14 15:14:33,122 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 15:14:33,122 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 15:14:46,219 [Worker-11: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-14 15:14:46,222 [Worker-11: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-14 15:14:46,224 [Worker-11: Launching TestJson (1)] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-14 15:14:46,226 [Worker-11: Launching TestJson (1)] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-14 16:21:40,215 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 16:21:40,216 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 16:59:37,746 [Worker-47: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 16:59:37,747 [Worker-47: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 17:39:50,781 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 17:39:50,799 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 17:40:46,606 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 17:40:46,606 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 17:41:40,892 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmServices
+2020-04-14 17:41:40,892 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 17:41:59,159 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 17:41:59,159 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 17:46:05,477 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 17:46:05,478 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-14 18:20:02,705 [Worker-64: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-14 18:20:02,706 [Worker-64: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 08:30:18,216 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-15 08:40:07,705 [Worker-0: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-15 08:41:59,226 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-15 08:41:59,227 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 08:43:50,518 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-15 08:43:50,518 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 08:44:36,137 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-15 08:44:36,137 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 08:50:08,628 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-15 08:50:08,628 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 08:53:02,180 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-15 08:53:02,180 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 08:54:07,725 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-15 08:54:07,727 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\main\resources
+2020-04-15 08:54:07,730 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-15 08:54:07,734 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\GlemmServices\src\test\resources
+2020-04-15 08:54:10,948 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-15 08:54:10,952 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\main\resources
+2020-04-15 08:54:10,954 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-15 08:54:10,956 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Project-Tests\src\test\resources
+2020-04-15 09:07:58,757 [Worker-21: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-15 09:08:15,610 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-15 09:08:15,610 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 09:11:02,790 [Worker-7: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-15 09:13:39,983 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Project-Tests
+2020-04-15 09:13:39,985 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 09:17:03,204 [Worker-6: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-15 09:17:04,652 [Worker-6: Updating Maven Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Project-Tests\pom.xml.
+2020-04-15 09:17:05,916 [Worker-6: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Tests/src
+2020-04-15 09:17:05,917 [Worker-6: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Tests/src/test/java because it overlaps with /Tests/src
+2020-04-15 09:17:06,110 [Worker-6: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 2 sec
+2020-04-15 09:20:53,998 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Project-Tests\pom.xml.
+2020-04-15 09:27:02,491 [Worker-12: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-15 09:27:03,088 [Worker-12: Updating Maven Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Project-Tests\pom.xml.
+2020-04-15 09:27:03,651 [Worker-12: Updating Maven Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/0.1/services-0.1.pom
+2020-04-15 09:27:03,659 [Worker-12: Updating Maven Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:services:jar:0.1 is missing, no dependency information available
+2020-04-15 09:27:03,814 [Worker-12: Updating Maven Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/0.1/services-0.1.jar
+2020-04-15 09:27:04,380 [Worker-12: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Tests/src
+2020-04-15 09:27:04,381 [Worker-12: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Tests/src/test/java because it overlaps with /Tests/src
+2020-04-15 09:27:04,556 [Worker-12: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 2 sec
+2020-04-15 09:27:05,219 [Worker-12: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:services:jar:0.1 is missing, no dependency information available
+2020-04-15 09:27:05,524 [Worker-12: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/0.1/services-0.1-sources.jar
+2020-04-15 09:27:05,579 [Worker-12: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap:services:0.1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap:services:jar:sources:0.1
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-04-15 09:27:05,742 [Worker-12: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/0.1/services-0.1-javadoc.jar
+2020-04-15 09:27:05,753 [Worker-12: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download javadoc for de.korap:services:0.1
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap:services:jar:javadoc:0.1
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-04-15 17:59:58,061 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: GlemmClient:GlemmClient:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\GlemmClient\pom.xml.
+2020-04-15 17:59:58,688 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmClient/src
+2020-04-15 17:59:58,689 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmClient/src/test/java because it overlaps with /GlemmClient/src
+2020-04-15 17:59:58,985 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-15 17:59:59,076 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: GlemmClient:GlemmClient:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\GlemmClient\pom.xml.
+2020-04-15 17:59:59,178 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmClient/src
+2020-04-15 17:59:59,180 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmClient/src/test/java because it overlaps with /GlemmClient/src
+2020-04-15 17:59:59,292 [Worker-61: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 0 sec
+2020-04-15 18:00:36,862 [Worker-64: Launching Executing install in C__myIDS_Daten_KorAP_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\GlemmClient
+2020-04-15 18:00:36,863 [Worker-64: Launching Executing install in C__myIDS_Daten_KorAP_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-15 18:09:02,786 [Worker-66: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Project-Tests\pom.xml.
+2020-04-15 18:10:07,681 [Worker-64: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-20 19:00:29,465 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-20 19:02:38,923 [Worker-6: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-21 10:09:35,173 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-21 12:11:56,295 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-21 12:13:07,144 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: GlemmClient:GlemmClient:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-04-21 12:13:49,225 [Worker-7: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-21 12:13:49,226 [Worker-7: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-21 12:14:26,411 [Worker-6: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-04-21 12:14:43,631 [Worker-9: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-04-21 12:16:18,059 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-21 12:16:18,059 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-21 12:36:30,534 [Worker-11: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-21 16:57:47,061 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-21 16:57:47,063 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-21 16:59:49,359 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-21 16:59:49,360 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-21 17:00:23,220 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-21 17:00:23,221 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-21 17:22:28,123 [Worker-51: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-21 18:10:10,994 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-21 18:10:10,996 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-21 18:27:08,504 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-21 18:34:40,118 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-21 18:34:40,119 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-21 18:39:07,132 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-21 18:39:07,133 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 07:50:49,708 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 07:50:57,002 [Worker-22: Launching Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 07:50:57,002 [Worker-22: Launching Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B 
+2020-04-22 07:51:13,538 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 07:51:24,789 [Worker-21: Launching Project-Tests (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 07:51:24,789 [Worker-21: Launching Project-Tests (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 09:53:58,229 [Worker-53: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 09:53:58,229 [Worker-53: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 09:57:52,707 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-22 09:58:25,239 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 09:58:25,240 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 09:59:29,460 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 09:59:29,460 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 10:01:02,905 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 10:01:02,905 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 10:01:42,839 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-22 10:01:42,839 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 10:01:58,949 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 10:01:58,949 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 10:59:49,642 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 10:59:56,268 [Worker-10: Launching Project-Tests (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 10:59:56,269 [Worker-10: Launching Project-Tests (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 11:44:13,795 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 11:44:13,795 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 11:44:33,679 [Worker-17: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-22 11:45:09,563 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-22 12:38:52,690 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 12:39:09,102 [Worker-17: Launching Project-Tests (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 12:39:09,102 [Worker-17: Launching Project-Tests (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 13:02:28,707 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 13:02:28,707 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 17:00:42,806 [Worker-37: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-22 17:00:42,819 [Worker-37: Updating Maven Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:00:48,299 [Worker-37: Updating Maven Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-04-22 17:00:49,935 [Worker-37: Updating Maven Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:00:50,365 [Worker-37: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Tests/src
+2020-04-22 17:00:50,365 [Worker-37: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Tests/src/test/java because it overlaps with /Tests/src
+2020-04-22 17:00:50,552 [Worker-37: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 7 sec
+2020-04-22 17:01:45,844 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:02:00,823 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/takari/m2e/workspace/org.eclipse.m2e.workspace.cli/0.3.1/org.eclipse.m2e.workspace.cli-0.3.1-sources.jar
+2020-04-22 17:02:01,072 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/takari/m2e/workspace/org.eclipse.m2e.workspace.cli/0.3.1/org.eclipse.m2e.workspace.cli-0.3.1-sources.jar
+2020-04-22 17:02:01,736 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2-sources.jar
+2020-04-22 17:02:02,122 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2-sources.jar
+2020-04-22 17:02:02,714 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1-sources.jar
+2020-04-22 17:02:02,880 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1-sources.jar
+2020-04-22 17:02:03,342 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.5.3/maven-model-3.5.3-sources.jar
+2020-04-22 17:02:03,505 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/3.5.3/maven-model-3.5.3-sources.jar
+2020-04-22 17:02:03,936 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5-sources.jar
+2020-04-22 17:02:04,144 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-io/commons-io/2.5/commons-io-2.5-sources.jar
+2020-04-22 17:02:04,719 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.4/commons-cli-1.4-sources.jar
+2020-04-22 17:02:04,918 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-cli/commons-cli/1.4/commons-cli-1.4-sources.jar
+2020-04-22 17:02:05,469 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1-sources.jar
+2020-04-22 17:02:05,627 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1-sources.jar
+2020-04-22 17:02:05,999 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/3.5.3/maven-core-3.5.3-sources.jar
+2020-04-22 17:02:06,275 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/3.5.3/maven-core-3.5.3-sources.jar
+2020-04-22 17:02:06,689 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24-sources.jar
+2020-04-22 17:02:06,838 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24-sources.jar
+2020-04-22 17:02:07,257 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4-sources.jar
+2020-04-22 17:02:07,478 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4-sources.jar
+2020-04-22 17:02:08,220 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7-sources.jar
+2020-04-22 17:02:08,324 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-cipher/1.7/plexus-cipher-1.7-sources.jar
+2020-04-22 17:02:08,755 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings-builder/3.5.3/maven-settings-builder-3.5.3-sources.jar
+2020-04-22 17:02:09,122 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings-builder/3.5.3/maven-settings-builder-3.5.3-sources.jar
+2020-04-22 17:02:09,441 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-compat/3.5.3/maven-compat-3.5.3-sources.jar
+2020-04-22 17:02:09,635 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-compat/3.5.3/maven-compat-3.5.3-sources.jar
+2020-04-22 17:02:10,057 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-embedder/3.5.3/maven-embedder-3.5.3-sources.jar
+2020-04-22 17:02:10,208 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-embedder/3.5.3/maven-embedder-3.5.3-sources.jar
+2020-04-22 17:02:10,695 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/io/takari/aether/aether-connector-okhttp/0.17.3/aether-connector-okhttp-0.17.3-sources.jar
+2020-04-22 17:02:10,890 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/io/takari/aether/aether-connector-okhttp/0.17.3/aether-connector-okhttp-0.17.3-sources.jar
+2020-04-22 17:02:11,470 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/javax/enterprise/cdi-api/1.0/cdi-api-1.0-sources.jar
+2020-04-22 17:02:11,634 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/javax/enterprise/cdi-api/1.0/cdi-api-1.0-sources.jar
+2020-04-22 17:02:12,181 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.12.0/okio-1.12.0-sources.jar
+2020-04-22 17:02:12,321 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.12.0/okio-1.12.0-sources.jar
+2020-04-22 17:02:12,850 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/3.5.3/maven-settings-3.5.3-sources.jar
+2020-04-22 17:02:13,115 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/3.5.3/maven-settings-3.5.3-sources.jar
+2020-04-22 17:02:13,578 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/3.7.0/okhttp-3.7.0-sources.jar
+2020-04-22 17:02:13,801 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/3.7.0/okhttp-3.7.0-sources.jar
+2020-04-22 17:02:14,178 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1-sources.jar
+2020-04-22 17:02:14,379 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1-sources.jar
+2020-04-22 17:02:14,812 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1-sources.jar
+2020-04-22 17:02:14,930 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1-sources.jar
+2020-04-22 17:02:15,311 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1-sources.jar
+2020-04-22 17:02:15,477 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1-sources.jar
+2020-04-22 17:02:15,901 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/3.0.0/wagon-file-3.0.0-sources.jar
+2020-04-22 17:02:15,978 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-file/3.0.0/wagon-file-3.0.0-sources.jar
+2020-04-22 17:02:16,393 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-resolver-provider/3.5.3/maven-resolver-provider-3.5.3-sources.jar
+2020-04-22 17:02:16,724 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-resolver-provider/3.5.3/maven-resolver-provider-3.5.3-sources.jar
+2020-04-22 17:02:17,041 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1-sources.jar
+2020-04-22 17:02:17,217 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1-sources.jar
+2020-04-22 17:02:17,659 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5-sources.jar
+2020-04-22 17:02:17,975 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5-sources.jar
+2020-04-22 17:02:18,467 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/google/guava/guava/20.0/guava-20.0-sources.jar
+2020-04-22 17:02:19,002 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/google/guava/guava/20.0/guava-20.0-sources.jar
+2020-04-22 17:02:19,437 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1-sources.jar
+2020-04-22 17:02:19,563 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1-sources.jar
+2020-04-22 17:02:19,898 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.5.3/maven-artifact-3.5.3-sources.jar
+2020-04-22 17:02:20,020 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/3.5.3/maven-artifact-3.5.3-sources.jar
+2020-04-22 17:02:20,354 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0-sources.jar
+2020-04-22 17:02:20,564 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0-sources.jar
+2020-04-22 17:02:20,939 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/3.5.3/maven-repository-metadata-3.5.3-sources.jar
+2020-04-22 17:02:21,108 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/3.5.3/maven-repository-metadata-3.5.3-sources.jar
+2020-04-22 17:02:21,519 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0-sources.jar
+2020-04-22 17:02:21,734 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0-sources.jar
+2020-04-22 17:02:22,139 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-builder-support/3.5.3/maven-builder-support-3.5.3-sources.jar
+2020-04-22 17:02:22,305 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-builder-support/3.5.3/maven-builder-support-3.5.3-sources.jar
+2020-04-22 17:02:22,640 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1-sources.jar
+2020-04-22 17:02:22,893 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1-sources.jar
+2020-04-22 17:02:23,323 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-model-builder/3.5.3/maven-model-builder-3.5.3-sources.jar
+2020-04-22 17:02:23,513 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-model-builder/3.5.3/maven-model-builder-3.5.3-sources.jar
+2020-04-22 17:02:23,914 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.5.3/maven-plugin-api-3.5.3-sources.jar
+2020-04-22 17:02:24,198 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/3.5.3/maven-plugin-api-3.5.3-sources.jar
+2020-04-22 17:02:24,623 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/slf4j/slf4j-simple/1.7.5/slf4j-simple-1.7.5-sources.jar
+2020-04-22 17:02:24,732 [main] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/slf4j/slf4j-simple/1.7.5/slf4j-simple-1.7.5-sources.jar
+2020-04-22 17:04:45,782 [Worker-36: Launching Project-Tests (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:04:45,782 [Worker-36: Launching Project-Tests (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:12:00,408 [Worker-38: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:12:00,440 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:12:00,442 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-22 17:12:00,445 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:12:00,448 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-22 17:15:36,168 [Worker-42: Cleaning selected projects] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:15:36,777 [Worker-42: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-04-22 17:15:38,044 [Worker-38: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:15:38,049 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:15:38,052 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-22 17:15:38,054 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:15:38,056 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-22 17:15:38,092 [Worker-38: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-04-22 17:15:38,093 [Worker-38: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-04-22 17:15:38,103 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is missing, no dependency information available
+2020-04-22 17:15:38,128 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:15:40,799 [Worker-38: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:15:40,803 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:15:40,808 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-22 17:15:40,810 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:15:40,812 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-22 17:17:36,511 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:18:53,034 [Worker-37: Launching Project-Tests (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:18:53,034 [Worker-37: Launching Project-Tests (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:21:57,172 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:22:06,827 [Worker-46: Launching Project-Tests (6)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:22:06,827 [Worker-46: Launching Project-Tests (6)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B jar
+2020-04-22 17:23:01,539 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:23:05,050 [Worker-37: Launching Project-Tests (7)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:23:05,050 [Worker-37: Launching Project-Tests (7)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 17:32:28,647 [Worker-37: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:32:28,650 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:32:28,652 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-22 17:32:28,653 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:32:28,655 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-22 17:32:28,790 [Worker-37: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:32:28,795 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:32:28,798 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-22 17:32:28,800 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:32:28,802 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-22 17:33:19,001 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:33:28,841 [Worker-37: Launching Project-Tests (8)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:33:28,841 [Worker-37: Launching Project-Tests (8)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:35:21,688 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:35:25,416 [Worker-46: Launching Project-Tests (9)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:35:25,416 [Worker-46: Launching Project-Tests (9)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:37:44,599 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:37:48,320 [Worker-37: Launching Project-Tests (10)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:37:48,320 [Worker-37: Launching Project-Tests (10)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:38:11,039 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:38:16,055 [Worker-50: Launching GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-22 17:38:16,056 [Worker-50: Launching GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:38:33,290 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:38:37,372 [Worker-52: Launching Project-Tests (11)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:38:37,373 [Worker-52: Launching Project-Tests (11)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:41:21,780 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:41:26,191 [Worker-53: Launching Project-Tests (12)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:41:26,191 [Worker-53: Launching Project-Tests (12)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:42:11,034 [Worker-54: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 17:42:11,039 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:42:11,046 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-22 17:42:11,048 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 17:42:11,050 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-22 17:48:25,782 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:48:29,875 [Worker-55: Launching Project-Tests (13)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:48:29,875 [Worker-55: Launching Project-Tests (13)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:48:58,202 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:49:01,667 [Worker-56: Launching Project-Tests (14)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:49:01,667 [Worker-56: Launching Project-Tests (14)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 17:51:21,076 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:51:24,568 [Worker-55: Launching Project-Tests (15)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:51:24,569 [Worker-55: Launching Project-Tests (15)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:52:23,408 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:52:28,575 [Worker-58: Launching GlemmClient (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-22 17:52:28,576 [Worker-58: Launching GlemmClient (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 17:53:07,481 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:53:11,053 [Worker-60: Launching Project-Tests (16)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:53:11,054 [Worker-60: Launching Project-Tests (16)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:54:02,228 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:54:05,953 [Worker-61: Launching GlemmClient (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-22 17:54:05,954 [Worker-61: Launching GlemmClient (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 17:54:26,122 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 17:54:44,935 [Worker-60: Launching Project-Tests (17)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:54:44,935 [Worker-60: Launching Project-Tests (17)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 17:59:18,461 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 17:59:18,461 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 18:00:25,375 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-22 18:00:25,375 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 18:01:19,304 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 18:01:19,305 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-22 18:09:48,387 [Worker-64: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-22 18:10:28,564 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 18:10:32,809 [Worker-64: Launching GlemmClient (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-22 18:10:32,809 [Worker-64: Launching GlemmClient (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 18:11:02,691 [Worker-57: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 18:11:02,691 [Worker-57: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-04-22 18:11:24,220 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 18:11:27,688 [Worker-64: Launching Project-Tests (18)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 18:11:27,689 [Worker-64: Launching Project-Tests (18)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 18:12:02,099 [Worker-64: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 18:12:02,103 [Worker-64: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:12:02,105 [Worker-64: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-22 18:12:02,107 [Worker-64: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:12:02,109 [Worker-64: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-22 18:12:02,221 [Worker-64: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 18:12:02,245 [Worker-64: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:12:02,262 [Worker-64: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-22 18:12:02,264 [Worker-64: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:12:02,266 [Worker-64: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-22 18:12:29,641 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 18:12:34,454 [Worker-65: Launching Project-Tests (19)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 18:12:34,454 [Worker-65: Launching Project-Tests (19)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 18:13:26,937 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 18:13:30,865 [Worker-65: Launching Project-Tests (20)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 18:13:30,866 [Worker-65: Launching Project-Tests (20)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 18:28:35,133 [Worker-57: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 18:28:35,140 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:28:35,141 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-22 18:28:35,143 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:28:35,144 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-22 18:28:35,226 [Worker-57: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 18:28:35,229 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:28:35,230 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-22 18:28:35,232 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 18:28:35,233 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-22 18:29:27,333 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 18:29:32,351 [Worker-66: Launching Project-Tests (21)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 18:29:32,352 [Worker-66: Launching Project-Tests (21)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 19:00:49,222 [Worker-67: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:00:49,227 [Worker-67: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:00:49,230 [Worker-67: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-22 19:00:49,231 [Worker-67: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:00:49,233 [Worker-67: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-22 19:01:52,735 [Worker-68: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-22 19:01:52,751 [Worker-68: Updating Maven Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:01:52,979 [Worker-68: Updating Maven Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-04-22 19:01:54,353 [Worker-68: Updating Maven Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:01:54,358 [Worker-68: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices2/src
+2020-04-22 19:01:54,359 [Worker-68: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmServices2/src/test/java because it overlaps with /GlemmServices2/src
+2020-04-22 19:01:54,838 [Worker-68: Updating Maven Project] ERROR o.e.m2e.wtp.WTPProjectConfigurator - Unable to configure GlemmServices2
+org.eclipse.m2e.wtp.MarkedException: Unable to configure GlemmServices2
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99) ~[na:na]
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68) ~[na:na]
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:439) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:352) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:349) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) [org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324) ~[na:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339) ~[na:na]
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136) ~[na:na]
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95) ~[na:na]
+	... 18 common frames omitted
+2020-04-22 19:01:55,051 [Worker-68: Updating Maven Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-22 19:01:55,056 [Worker-68: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 2 sec
+2020-04-22 19:18:32,387 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 19:18:38,197 [Worker-64: Launching GlemmClient (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-22 19:18:38,197 [Worker-64: Launching GlemmClient (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 19:25:19,975 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-22 19:25:34,446 [Worker-2: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: test:Tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-04-22 19:26:11,139 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:26:11,141 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-22 19:26:11,144 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:26:11,146 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-22 19:26:11,418 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:26:11,423 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-22 19:26:11,426 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:26:11,428 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-22 19:26:47,938 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 19:26:53,370 [Worker-6: Launching Project-Tests (22)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-22 19:26:53,371 [Worker-6: Launching Project-Tests (22)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 19:48:53,011 [Worker-13: Enabling Maven Dependency Management] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:48:53,142 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: JsonTraverse:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-04-22 19:48:53,855 [Worker-13: Enabling Maven Dependency Management] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:48:53,877 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /JsonTraverse/src
+2020-04-22 19:48:53,878 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /JsonTraverse/src/test/java because it overlaps with /JsonTraverse/src
+2020-04-22 19:48:54,072 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-22 19:48:54,073 [Worker-13: Enabling Maven Dependency Management] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:48:54,200 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: JsonTraverse:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-04-22 19:48:54,340 [Worker-13: Enabling Maven Dependency Management] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:48:54,357 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /JsonTraverse/src
+2020-04-22 19:48:54,357 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /JsonTraverse/src/test/java because it overlaps with /JsonTraverse/src
+2020-04-22 19:48:54,506 [Worker-13: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 0 sec
+2020-04-22 19:49:19,435 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 19:49:32,979 [Worker-16: Launching JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-22 19:49:32,979 [Worker-16: Launching JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 19:51:15,358 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 19:51:48,342 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 19:51:59,130 [Worker-13: Launching JsonTraverse (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-22 19:51:59,131 [Worker-13: Launching JsonTraverse (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-22 19:54:15,143 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-22 19:54:20,715 [Worker-15: Launching JsonTraverse (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-22 19:54:20,716 [Worker-15: Launching JsonTraverse (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-22 19:54:45,472 [Worker-15: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-04-22 19:54:45,477 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:54:45,478 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-22 19:54:45,480 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-22 19:54:45,482 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-23 07:59:53,052 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-23 08:08:37,090 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-23 08:08:42,204 [Worker-2: Launching Project-Tests (23)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-23 08:08:42,206 [Worker-2: Launching Project-Tests (23)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-23 08:16:35,652 [Worker-12: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: JsonTraverse:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-04-23 08:16:37,160 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:16:37,162 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-23 08:16:37,165 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:16:37,167 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-23 08:16:37,459 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:16:37,461 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-23 08:16:37,463 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:16:37,465 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-23 08:36:51,017 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:36:51,020 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-23 08:36:51,024 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:36:51,042 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-23 08:37:03,814 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-23 08:37:19,513 [Worker-16: Launching JsonTraverse (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-23 08:37:19,513 [Worker-16: Launching JsonTraverse (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-23 08:37:37,312 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:37:37,314 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-23 08:37:37,316 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:37:37,318 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-23 08:37:37,379 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:37:37,381 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-23 08:37:37,383 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:37:37,385 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-23 08:38:24,743 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-23 08:38:29,003 [Worker-21: Launching Project-Tests (24)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-23 08:38:29,003 [Worker-21: Launching Project-Tests (24)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-23 08:43:52,809 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:43:52,810 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-23 08:43:52,812 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-23 08:43:52,814 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-23 09:31:52,667 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-23 18:39:47,518 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.2/maven-war-plugin-2.2.jar
+2020-04-23 18:39:47,800 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.2/maven-war-plugin-2.2.jar
+2020-04-23 18:39:51,440 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: wformServices:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\pom.xml.
+2020-04-23 18:39:51,878 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.2/maven-war-plugin-2.2.pom
+2020-04-23 18:39:51,956 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-war-plugin/2.2/maven-war-plugin-2.2.pom
+2020-04-23 18:39:52,846 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.pom
+2020-04-23 18:39:52,909 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.pom
+2020-04-23 18:39:52,956 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1.3.1/xstream-parent-1.3.1.pom
+2020-04-23 18:39:53,018 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1.3.1/xstream-parent-1.3.1.pom
+2020-04-23 18:39:53,159 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.pom
+2020-04-23 18:39:53,221 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.pom
+2020-04-23 18:39:53,284 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
+2020-04-23 18:39:53,362 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom
+2020-04-23 18:39:53,440 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom
+2020-04-23 18:39:53,534 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom
+2020-04-23 18:39:53,612 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
+2020-04-23 18:39:53,690 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom
+2020-04-23 18:39:53,753 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
+2020-04-23 18:39:53,862 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom
+2020-04-23 18:39:53,940 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.6/plexus-interpolation-1.6.pom
+2020-04-23 18:39:54,018 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.6/plexus-interpolation-1.6.pom
+2020-04-23 18:39:54,190 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar
+2020-04-23 18:39:54,393 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar
+2020-04-23 18:39:54,424 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar
+2020-04-23 18:39:54,596 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar
+2020-04-23 18:39:56,652 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServices/src
+2020-04-23 18:39:56,652 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServices/src/test/java because it overlaps with /wformServices/src
+2020-04-23 18:39:57,686 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-23 18:39:58,327 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: wformServices:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\pom.xml.
+2020-04-23 18:39:59,436 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServices/src
+2020-04-23 18:39:59,436 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServices/src/test/java because it overlaps with /wformServices/src
+2020-04-23 18:39:59,717 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-04-23 18:39:59,717 [Worker-41: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 2 sec
+2020-04-24 08:30:18,211 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-24 10:13:16,134 [Worker-19: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-24 10:20:19,632 [Worker-20: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: wformServices:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\pom.xml.
+2020-04-24 10:20:22,304 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 10:20:22,304 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 10:20:22,304 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 10:20:22,304 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 11:41:45,628 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 11:41:45,628 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-24 11:41:45,643 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 11:41:45,643 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-24 11:41:46,315 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 11:41:46,315 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 11:41:46,315 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 11:41:46,315 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 11:41:55,946 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_wsp-KorAP-Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices
+2020-04-24 11:41:55,946 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_wsp-KorAP-Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 15:14:42,427 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: Utils:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-04-24 15:14:43,005 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Utils/src
+2020-04-24 15:14:43,005 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Utils/src/test/java because it overlaps with /Utils/src
+2020-04-24 15:14:43,239 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-24 15:14:43,333 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: Utils:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-04-24 15:14:43,583 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Utils/src
+2020-04-24 15:14:43,583 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Utils/src/test/java because it overlaps with /Utils/src
+2020-04-24 15:14:43,659 [Worker-29: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 0 sec
+2020-04-24 15:16:27,151 [Worker-30: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 15:16:27,166 [Worker-30: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-24 15:16:27,166 [Worker-30: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 15:16:27,166 [Worker-30: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-24 15:16:54,987 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-04-24 15:16:54,987 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 15:43:20,220 [Worker-29: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: Utils:de.korap.services:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-04-24 15:43:20,689 [Worker-29: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 15:43:20,689 [Worker-29: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-24 15:43:20,689 [Worker-29: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 15:43:20,720 [Worker-29: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-24 15:49:02,194 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-04-24 15:49:02,194 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 15:49:56,439 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-04-24 16:02:44,710 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:02:44,710 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-24 16:02:44,710 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:02:44,710 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-24 16:06:55,496 [Worker-37: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-04-24 16:06:55,917 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:06:55,917 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-24 16:06:55,917 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:06:55,917 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-24 16:07:14,341 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-04-24 16:07:14,341 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 16:09:27,936 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:09:27,936 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-24 16:09:27,951 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:09:27,951 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-24 16:09:28,639 [Worker-37: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-04-24 16:09:28,905 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:09:28,905 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 16:09:28,905 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:09:28,905 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-24 16:09:33,924 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 16:09:33,924 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 16:11:29,227 [Worker-41: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-04-24 16:11:29,602 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:11:29,602 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-24 16:11:29,602 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:11:29,602 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-24 16:11:33,925 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-24 16:11:33,925 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 16:18:59,737 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-24 16:18:59,737 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 16:21:48,447 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:21:48,447 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-24 16:21:48,447 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:21:48,463 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-24 16:21:53,302 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-04-24 16:21:53,302 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 16:25:41,205 [Worker-42: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-04-24 16:25:41,548 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:25:41,548 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-24 16:25:41,548 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:25:41,548 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-24 16:25:41,861 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:25:41,861 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 16:25:41,861 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:25:41,861 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 16:26:32,231 [Worker-42: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-04-24 16:26:32,388 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:26:32,388 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-24 16:26:32,388 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:26:32,388 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-24 16:26:32,466 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:26:32,466 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 16:26:32,466 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:26:32,466 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 16:26:32,466 [Worker-41: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-04-24 16:26:32,466 [Worker-41: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-04-24 16:26:32,497 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:32:09,571 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:32:09,571 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-24 16:32:09,571 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:32:09,571 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-24 16:32:09,664 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:32:09,664 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 16:32:09,664 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:32:09,664 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 16:38:12,430 [Worker-47: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\pom.xml.
+2020-04-24 16:38:13,352 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:38:13,352 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 16:38:13,352 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:38:13,352 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 16:38:13,352 [Worker-47: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-04-24 16:38:13,352 [Worker-47: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-04-24 16:38:13,368 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:50:41,418 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:50:41,418 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 16:50:41,418 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:50:41,418 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 16:50:50,879 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 16:50:55,110 [Worker-49: Launching wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices
+2020-04-24 16:50:55,110 [Worker-49: Launching wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 16:54:20,498 [Worker-51: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:54:20,498 [Worker-51: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\main\resources
+2020-04-24 16:54:20,498 [Worker-51: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 16:54:20,498 [Worker-51: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices\src\test\resources
+2020-04-24 17:13:07,060 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wformServices\pom.xml.
+2020-04-24 17:13:09,529 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServices/src
+2020-04-24 17:13:09,529 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServices/src/test/java because it overlaps with /wformServices/src
+2020-04-24 17:13:10,185 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-24 17:13:10,712 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wformServices\pom.xml.
+2020-04-24 17:13:11,884 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServices/src
+2020-04-24 17:13:11,884 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServices/src/test/java because it overlaps with /wformServices/src
+2020-04-24 17:13:12,181 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-04-24 17:13:12,197 [Worker-51: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 2 sec
+2020-04-24 17:14:16,749 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:14:16,764 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\main\resources
+2020-04-24 17:14:16,764 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:14:16,764 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\test\resources
+2020-04-24 17:14:16,764 [Worker-58: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-04-24 17:14:16,764 [Worker-58: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-04-24 17:14:16,780 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:16:44,781 [Worker-54: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wformServices\pom.xml.
+2020-04-24 17:16:45,578 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:16:45,594 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\main\resources
+2020-04-24 17:16:45,594 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:16:45,594 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\test\resources
+2020-04-24 17:16:45,594 [Worker-54: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-04-24 17:16:45,594 [Worker-54: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-04-24 17:16:45,594 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:19:20,683 [Worker-54: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-04-24 17:19:20,855 [Worker-54: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\wsp-KorAP-Services\wformServices-wrong\pom.xml.
+2020-04-24 17:19:21,402 [Worker-54: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices-wrong
+2020-04-24 17:19:21,496 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:19:21,512 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-24 17:19:21,512 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:19:21,512 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-24 17:19:21,902 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:19:21,918 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\main\resources
+2020-04-24 17:19:21,918 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:19:21,918 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\test\resources
+2020-04-24 17:19:21,918 [Worker-58: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-04-24 17:19:21,918 [Worker-58: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-04-24 17:19:21,933 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:22:16,273 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:22:16,289 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-24 17:22:16,289 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:22:16,289 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-24 17:22:16,414 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:22:16,414 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\main\resources
+2020-04-24 17:22:16,414 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:22:16,414 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\test\resources
+2020-04-24 17:22:30,285 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\wformServices
+2020-04-24 17:22:30,285 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 17:27:19,034 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:27:19,050 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\main\resources
+2020-04-24 17:27:19,050 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 17:27:19,050 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\wformServices\src\test\resources
+2020-04-24 17:27:26,271 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\wformServices
+2020-04-24 17:27:26,271 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 17:38:07,234 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\wformServices
+2020-04-24 17:38:07,249 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 18:00:50,556 [Worker-60: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-04-24 18:00:50,900 [Worker-60: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:00:50,900 [Worker-60: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-24 18:00:50,916 [Worker-60: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:00:50,916 [Worker-60: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-24 18:01:04,514 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-24 18:01:04,514 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 18:05:25,132 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\wformServices
+2020-04-24 18:05:25,132 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_wformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 18:07:29,494 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 18:07:29,494 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 18:08:50,690 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:08:50,690 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-24 18:08:50,690 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:08:50,690 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-24 18:08:50,769 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:08:50,769 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-24 18:08:50,769 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:08:50,769 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-24 18:08:50,831 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:08:50,831 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 18:08:50,831 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:08:50,831 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-24 18:08:59,375 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 18:08:59,375 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 18:55:18,698 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-24 18:57:01,061 [Worker-5: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-24 18:57:21,477 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:57:21,477 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-24 18:57:21,477 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:57:21,477 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-24 18:57:22,305 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:57:22,305 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-24 18:57:22,305 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:57:22,321 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-24 18:57:24,383 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:57:24,383 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 18:57:24,383 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 18:57:24,383 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-24 19:34:26,477 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:34:31,199 [Worker-23: Launching Project-Tests (25)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:34:31,215 [Worker-23: Launching Project-Tests (25)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:37:04,038 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:37:04,053 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-24 19:37:04,053 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:37:04,053 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-24 19:37:04,178 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:37:04,178 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 19:37:04,178 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:37:04,178 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-24 19:37:11,037 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:37:15,101 [Worker-20: Launching Project-Tests (26)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:37:15,101 [Worker-20: Launching Project-Tests (26)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:43:13,936 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:43:13,936 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 19:44:05,917 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:44:09,370 [Worker-28: Launching Project-Tests (27)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:44:09,370 [Worker-28: Launching Project-Tests (27)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:44:30,642 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:44:30,642 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 19:44:30,657 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:44:30,657 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-24 19:44:36,392 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:44:41,961 [Worker-20: Launching Project-Tests (28)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:44:41,961 [Worker-20: Launching Project-Tests (28)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:45:17,516 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:45:17,516 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-24 19:45:34,145 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:45:34,145 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 19:45:34,145 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:45:34,145 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-24 19:48:42,816 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:48:47,401 [Worker-28: Launching WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-24 19:48:47,401 [Worker-28: Launching WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:50:01,780 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:50:01,780 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-24 19:50:01,780 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:50:01,780 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-24 19:50:10,514 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:50:13,651 [Worker-28: Launching WformServices (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-24 19:50:13,651 [Worker-28: Launching WformServices (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:52:40,868 [Worker-26: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-04-24 19:52:41,024 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:52:41,040 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-24 19:52:41,040 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:52:41,056 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-24 19:52:41,181 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:52:41,196 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-24 19:52:41,212 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:52:41,228 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-24 19:52:41,228 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-04-24 19:52:41,228 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-04-24 19:52:41,337 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:52:41,540 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:52:41,556 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 19:52:41,556 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:52:41,556 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-24 19:52:50,883 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:52:53,742 [Worker-32: Launching WformServices (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-24 19:52:53,742 [Worker-32: Launching WformServices (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:53:21,261 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:53:24,167 [Worker-22: Launching Project-Tests (29)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:53:24,167 [Worker-22: Launching Project-Tests (29)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-24 19:53:40,517 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:53:43,454 [Worker-32: Launching Project-Tests (30)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:53:43,470 [Worker-32: Launching Project-Tests (30)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-24 19:58:53,349 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:58:53,349 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-24 19:58:53,349 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 19:58:53,349 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-24 19:59:19,336 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-24 19:59:22,773 [Worker-35: Launching Project-Tests (31)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-24 19:59:22,773 [Worker-35: Launching Project-Tests (31)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-24 21:14:55,732 [Worker-61: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 21:14:55,732 [Worker-61: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-24 21:14:55,732 [Worker-61: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-24 21:14:55,748 [Worker-61: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-27 11:58:20,814 [Worker-23: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-27 12:23:14,337 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 12:23:18,500 [Worker-26: Launching Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-04-27 12:23:18,503 [Worker-26: Launching Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 16:08:18,202 [Worker-55: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-27 16:14:46,633 [Worker-55: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-04-27 16:14:47,115 [Worker-55: Build Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/io/commons-io/2.6/commons-io-2.6.pom
+2020-04-27 16:14:47,124 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for org.apache.commons.io:commons-io:jar:2.6 is missing, no dependency information available
+2020-04-27 16:14:47,163 [Worker-55: Build Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/io/commons-io/2.6/commons-io-2.6.jar
+2020-04-27 16:14:49,463 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:14:49,465 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-27 16:14:49,467 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:14:49,468 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-27 16:14:50,011 [Worker-62: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for org.apache.commons.io:commons-io:jar:2.6 is missing, no dependency information available
+2020-04-27 16:14:50,341 [Worker-62: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/org/apache/commons/io/commons-io/2.6/commons-io-2.6-sources.jar
+2020-04-27 16:14:50,375 [Worker-62: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for org.apache.commons.io:commons-io:2.6
+org.eclipse.core.runtime.CoreException: Could not resolve artifact org.apache.commons.io:commons-io:jar:sources:2.6
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-04-27 16:29:23,105 [Worker-66: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:29:23,106 [Worker-66: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-27 16:29:23,108 [Worker-66: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:29:23,123 [Worker-66: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-27 16:32:17,978 [Worker-66: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-04-27 16:32:18,333 [Worker-66: Build Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar
+2020-04-27 16:32:18,545 [Worker-66: Build Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar
+2020-04-27 16:32:19,309 [Worker-66: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:32:19,311 [Worker-66: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-27 16:32:19,315 [Worker-66: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:32:19,317 [Worker-66: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-27 16:32:20,269 [Worker-68: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloading https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6-sources.jar
+2020-04-27 16:32:20,471 [Worker-68: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6-sources.jar
+2020-04-27 16:32:20,657 [Worker-68: Download sources and javadoc] INFO  o.e.m.j.internal.DownloadSourcesJob - Downloaded sources for commons-io:commons-io:2.6
+2020-04-27 16:33:20,869 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:33:20,870 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-27 16:33:20,872 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 16:33:20,874 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-27 17:19:08,905 [Worker-82: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:19:08,906 [Worker-82: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-27 17:19:08,908 [Worker-82: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:19:08,910 [Worker-82: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-27 17:38:46,975 [Worker-93: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:38:46,977 [Worker-93: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-27 17:38:46,979 [Worker-93: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:38:46,980 [Worker-93: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-27 17:42:16,035 [Worker-92: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:42:16,037 [Worker-92: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-27 17:42:16,039 [Worker-92: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:42:16,040 [Worker-92: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-27 17:42:17,218 [Worker-92: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:42:17,220 [Worker-92: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-27 17:42:17,223 [Worker-92: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:42:17,225 [Worker-92: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-27 17:42:21,048 [Worker-92: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:42:21,050 [Worker-92: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-27 17:42:21,053 [Worker-92: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 17:42:21,056 [Worker-92: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-27 17:42:30,257 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 17:42:32,927 [Worker-92: Launching Project-Tests (32)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-27 17:42:32,928 [Worker-92: Launching Project-Tests (32)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 18:13:14,807 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 18:13:18,181 [Worker-111: Launching WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-27 18:13:18,181 [Worker-111: Launching WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 18:18:02,395 [Worker-113: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:18:02,412 [Worker-113: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-27 18:18:02,419 [Worker-113: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:18:02,421 [Worker-113: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-27 18:25:10,941 [Worker-118: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:25:10,942 [Worker-118: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-27 18:25:10,944 [Worker-118: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:25:10,946 [Worker-118: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-27 18:25:17,375 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 18:25:19,713 [Worker-116: Launching WformServices (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-27 18:25:19,713 [Worker-116: Launching WformServices (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 18:26:54,321 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 18:26:58,002 [Worker-111: Launching JsonTraverse (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-27 18:26:58,002 [Worker-111: Launching JsonTraverse (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 18:27:11,342 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 18:27:13,816 [Worker-119: Launching Project-Tests (33)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-27 18:27:13,816 [Worker-119: Launching Project-Tests (33)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-27 18:27:28,919 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 18:27:31,583 [Worker-120: Launching Project-Tests (34)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-27 18:27:31,583 [Worker-120: Launching Project-Tests (34)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 18:28:22,294 [Worker-119: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:28:22,296 [Worker-119: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-27 18:28:22,298 [Worker-119: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:28:22,301 [Worker-119: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-27 18:55:49,267 [Worker-120: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:55:49,269 [Worker-120: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-27 18:55:49,271 [Worker-120: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:55:49,272 [Worker-120: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-27 18:55:49,345 [Worker-120: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:55:49,348 [Worker-120: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-27 18:55:49,352 [Worker-120: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:55:49,359 [Worker-120: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-27 18:56:51,160 [Worker-129: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:56:51,162 [Worker-129: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-27 18:56:51,164 [Worker-129: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 18:56:51,168 [Worker-129: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-27 18:57:12,837 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 18:57:16,029 [Worker-132: Launching Project-Tests (35)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-27 18:57:16,029 [Worker-132: Launching Project-Tests (35)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 18:58:15,965 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-27 18:58:19,016 [Worker-131: Launching Utils (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-04-27 18:58:19,016 [Worker-131: Launching Utils (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-27 19:00:42,092 [Worker-120: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 19:00:42,093 [Worker-120: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-27 19:00:42,095 [Worker-120: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 19:00:42,096 [Worker-120: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-27 19:00:42,164 [Worker-120: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 19:00:42,165 [Worker-120: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-27 19:00:42,167 [Worker-120: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-27 19:00:42,168 [Worker-120: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 09:52:38,283 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-28 09:58:07,024 [Worker-14: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-28 12:44:11,151 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 12:44:14,513 [Worker-53: Launching GlemmClient (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-28 12:44:14,515 [Worker-53: Launching GlemmClient (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 12:45:42,519 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 12:45:44,969 [Worker-50: Launching WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-28 12:45:44,969 [Worker-50: Launching WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 12:46:56,905 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:46:56,909 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 12:46:56,912 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:46:56,914 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 12:46:57,450 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:46:57,451 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-28 12:46:57,454 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:46:57,456 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-28 12:46:57,933 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:46:57,953 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-28 12:46:57,955 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:46:57,957 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-28 12:47:14,887 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 12:47:17,546 [Worker-54: Launching WformServices (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-28 12:47:17,547 [Worker-54: Launching WformServices (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 12:47:40,500 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 12:47:43,046 [Worker-56: Launching Project-Tests (36)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 12:47:43,046 [Worker-56: Launching Project-Tests (36)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 12:48:01,464 [Worker-54: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:48:01,473 [Worker-54: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 12:48:01,475 [Worker-54: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 12:48:01,484 [Worker-54: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 13:25:22,002 [Worker-67: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 13:25:22,005 [Worker-67: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 13:25:22,007 [Worker-67: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 13:25:22,010 [Worker-67: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 13:25:22,085 [Worker-67: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 13:25:22,089 [Worker-67: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 13:25:22,091 [Worker-67: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 13:25:22,094 [Worker-67: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 13:25:31,949 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 13:25:34,793 [Worker-69: Launching Project-Tests (37)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 13:25:34,793 [Worker-69: Launching Project-Tests (37)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 16:22:40,644 [Worker-86: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:22:40,650 [Worker-86: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 16:22:40,652 [Worker-86: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:22:40,654 [Worker-86: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 16:22:40,744 [Worker-86: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:22:40,752 [Worker-86: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 16:22:40,756 [Worker-86: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:22:40,758 [Worker-86: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 16:22:48,087 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 16:22:50,899 [Worker-84: Launching Project-Tests (38)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 16:22:50,899 [Worker-84: Launching Project-Tests (38)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 16:50:15,524 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 16:50:18,115 [Worker-88: Launching GlemmClient (6)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-28 16:50:18,116 [Worker-88: Launching GlemmClient (6)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B packag
+2020-04-28 16:50:29,579 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 16:50:33,334 [Worker-102: Launching GlemmClient (7)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-28 16:50:33,335 [Worker-102: Launching GlemmClient (7)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 16:51:05,173 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 16:51:08,951 [Worker-100: Launching WformServices (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-28 16:51:08,951 [Worker-100: Launching WformServices (5)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 16:51:30,580 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 16:51:33,527 [Worker-103: Launching Utils (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-04-28 16:51:33,527 [Worker-103: Launching Utils (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 16:51:51,493 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 16:51:54,662 [Worker-103: Launching Project-Tests (39)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 16:51:54,662 [Worker-103: Launching Project-Tests (39)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 16:52:14,950 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:52:14,955 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 16:52:14,957 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:52:14,960 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 16:52:15,121 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:52:15,147 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 16:52:15,149 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 16:52:15,158 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 18:19:46,724 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:19:49,109 [Worker-113: Launching GlemmClient (8)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-28 18:19:49,109 [Worker-113: Launching GlemmClient (8)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:20:05,991 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:20:08,057 [Worker-110: Launching Project-Tests (40)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 18:20:08,057 [Worker-110: Launching Project-Tests (40)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:20:25,197 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:20:25,202 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 18:20:25,204 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:20:25,207 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 18:20:25,270 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:20:25,272 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 18:20:25,273 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:20:25,275 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 18:28:58,578 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:29:00,679 [Worker-111: Launching GlemmClient (9)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-28 18:29:00,679 [Worker-111: Launching GlemmClient (9)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:29:08,913 [Worker-114: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:29:08,915 [Worker-114: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 18:29:08,917 [Worker-114: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:29:08,920 [Worker-114: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 18:29:08,966 [Worker-114: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:29:08,968 [Worker-114: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 18:29:08,970 [Worker-114: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:29:08,972 [Worker-114: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 18:29:16,146 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:29:19,523 [Worker-118: Launching Project-Tests (41)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 18:29:19,523 [Worker-118: Launching Project-Tests (41)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:30:59,639 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:31:02,779 [Worker-114: Launching GlemmClient (10)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-28 18:31:02,779 [Worker-114: Launching GlemmClient (10)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:31:12,918 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:31:15,154 [Worker-111: Launching Project-Tests (42)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 18:31:15,155 [Worker-111: Launching Project-Tests (42)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:31:24,824 [Worker-118: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:31:24,826 [Worker-118: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 18:31:24,828 [Worker-118: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:31:24,831 [Worker-118: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 18:31:24,876 [Worker-118: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:31:24,877 [Worker-118: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 18:31:24,878 [Worker-118: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:31:24,880 [Worker-118: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 18:37:52,886 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:37:55,331 [Worker-123: Launching GlemmClient (11)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-28 18:37:55,331 [Worker-123: Launching GlemmClient (11)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:38:07,484 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 18:38:10,021 [Worker-125: Launching Project-Tests (43)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-28 18:38:10,022 [Worker-125: Launching Project-Tests (43)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 18:38:21,771 [Worker-123: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:38:21,773 [Worker-123: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-28 18:38:21,774 [Worker-123: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:38:21,776 [Worker-123: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-28 18:38:21,811 [Worker-123: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:38:21,813 [Worker-123: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 18:38:21,816 [Worker-123: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 18:38:21,817 [Worker-123: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 19:26:14,927 [Worker-135: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:26:14,929 [Worker-135: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:26:14,931 [Worker-135: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:26:14,934 [Worker-135: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:26:14,934 [Worker-135: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-04-28 19:26:14,936 [Worker-135: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-04-28 19:26:15,428 [Worker-135: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:26:57,932 [Worker-138: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-28 19:26:58,120 [Worker-139: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:26:58,143 [Worker-139: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:26:58,144 [Worker-139: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:26:58,149 [Worker-139: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:26:58,149 [Worker-139: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-04-28 19:26:58,150 [Worker-139: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-04-28 19:26:58,200 [Worker-139: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:27:29,468 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 19:27:33,370 [Worker-135: Launching GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 19:27:33,370 [Worker-135: Launching GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-04-28 19:28:49,738 [Worker-137: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:28:49,739 [Worker-137: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:28:49,741 [Worker-137: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:28:49,742 [Worker-137: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:29:18,244 [Worker-135: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:29:18,246 [Worker-135: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:29:18,248 [Worker-135: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:29:18,250 [Worker-135: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:29:39,845 [Worker-141: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:29:39,846 [Worker-141: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:29:39,847 [Worker-141: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:29:39,849 [Worker-141: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:31:07,989 [Worker-137: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:31:07,991 [Worker-137: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:31:07,992 [Worker-137: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:31:07,994 [Worker-137: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:32:23,079 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-04-28 19:33:06,737 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-04-28 19:33:27,331 [Worker-142: Updating maven projects ] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-04-28 19:33:27,552 [Worker-142: Updating maven projects ] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-04-28 19:33:28,474 [Worker-142: Updating maven projects ] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices2/src
+2020-04-28 19:33:28,475 [Worker-142: Updating maven projects ] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmServices2/src/test/java because it overlaps with /GlemmServices2/src
+2020-04-28 19:33:28,962 [Worker-142: Updating maven projects ] ERROR o.e.m2e.wtp.WTPProjectConfigurator - Unable to configure GlemmServices2
+org.eclipse.m2e.wtp.MarkedException: Unable to configure GlemmServices2
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99) ~[na:na]
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68) ~[na:na]
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:439) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:352) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:349) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:335) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:317) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:306) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.wtp.internal.preferences.MavenWtpPreferencePage$4.runInWorkspace(MavenWtpPreferencePage.java:391) [org.eclipse.m2e.wtp_1.4.0.20180606-2005.jar:na]
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) [org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324) ~[na:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339) ~[na:na]
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136) ~[na:na]
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95) ~[na:na]
+	... 21 common frames omitted
+2020-04-28 19:33:29,080 [Worker-142: Updating maven projects ] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-28 19:33:29,087 [Worker-142: Updating maven projects ] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 1 sec
+2020-04-28 19:33:50,110 [Worker-142: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:33:50,114 [Worker-142: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:33:50,117 [Worker-142: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:33:50,120 [Worker-142: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:33:50,120 [Worker-142: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-04-28 19:33:50,121 [Worker-142: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-04-28 19:33:50,127 [Worker-142: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:35:29,126 [Worker-143: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:35:29,128 [Worker-143: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-04-28 19:35:29,130 [Worker-143: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:35:29,132 [Worker-143: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-04-28 19:35:29,225 [Worker-143: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:35:29,228 [Worker-143: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:35:29,230 [Worker-143: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:35:29,235 [Worker-143: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:37:16,078 [Worker-141: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:37:16,079 [Worker-141: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:37:16,081 [Worker-141: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:37:16,085 [Worker-141: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:37:29,061 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-28 19:37:33,357 [Worker-144: Launching GlemmServices (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 19:37:33,357 [Worker-144: Launching GlemmServices (1)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-28 19:38:32,764 [Worker-145: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:38:32,767 [Worker-145: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 19:38:32,768 [Worker-145: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 19:38:32,770 [Worker-145: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 19:39:02,262 [Worker-145: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 19:39:02,262 [Worker-145: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 19:59:42,702 [Worker-149: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 19:59:42,703 [Worker-149: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:01:22,587 [Worker-151: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:01:22,588 [Worker-151: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:03:32,311 [Worker-153: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-04-28 20:03:32,598 [Worker-153: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:03:32,600 [Worker-153: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 20:03:32,601 [Worker-153: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:03:32,603 [Worker-153: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 20:03:32,604 [Worker-153: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-04-28 20:03:32,604 [Worker-153: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-04-28 20:03:32,611 [Worker-153: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:03:33,695 [Worker-155: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services:utils:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:utils:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-04-28 20:03:41,678 [Worker-151: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:03:41,678 [Worker-151: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:18:45,434 [Worker-162: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-04-28 20:18:45,971 [Worker-162: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-04-28 20:18:46,297 [Worker-160: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:18:46,310 [Worker-160: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 20:18:46,312 [Worker-160: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:18:46,329 [Worker-160: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 20:18:46,329 [Worker-160: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-04-28 20:18:46,329 [Worker-160: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-04-28 20:18:46,336 [Worker-160: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:18:46,966 [Worker-162: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download javadoc for de.korap.services:utils:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:utils:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-04-28 20:18:54,697 [Worker-161: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:18:54,698 [Worker-161: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:30:15,952 [Worker-166: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:30:15,954 [Worker-166: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 20:30:15,956 [Worker-166: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:30:15,958 [Worker-166: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 20:30:23,092 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:30:23,093 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:37:55,336 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:37:55,336 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:38:10,532 [Worker-169: Launching TestRunner] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:38:10,534 [Worker-169: Launching TestRunner] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 20:38:10,535 [Worker-169: Launching TestRunner] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:38:10,537 [Worker-169: Launching TestRunner] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 20:38:50,121 [Worker-172: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:38:50,123 [Worker-172: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-28 20:38:50,124 [Worker-172: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:38:50,126 [Worker-172: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-28 20:51:33,248 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:51:33,248 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:52:40,338 [Worker-178: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:52:40,340 [Worker-178: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 20:52:40,341 [Worker-178: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:52:40,342 [Worker-178: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 20:52:51,494 [Worker-180: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:52:51,495 [Worker-180: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:58:37,852 [Worker-185: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:58:37,852 [Worker-185: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 20:58:50,360 [Worker-186: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:58:50,362 [Worker-186: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 20:58:50,365 [Worker-186: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 20:58:50,367 [Worker-186: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 20:58:56,805 [Worker-187: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 20:58:56,805 [Worker-187: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 21:03:43,514 [Worker-189: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 21:03:43,515 [Worker-189: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 21:03:51,996 [Worker-192: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:03:51,999 [Worker-192: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 21:03:52,000 [Worker-192: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:03:52,003 [Worker-192: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 21:03:59,268 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 21:03:59,268 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 21:05:46,704 [Worker-193: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 21:05:46,704 [Worker-193: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 21:05:57,126 [Worker-193: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:05:57,129 [Worker-193: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 21:05:57,130 [Worker-193: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:05:57,132 [Worker-193: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 21:06:03,710 [Worker-193: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 21:06:03,710 [Worker-193: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 21:09:55,613 [Worker-193: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:09:55,616 [Worker-193: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 21:09:55,617 [Worker-193: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:09:55,619 [Worker-193: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 21:09:59,728 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 21:09:59,729 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 21:15:06,327 [Worker-193: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:15:06,329 [Worker-193: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 21:15:06,330 [Worker-193: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:15:06,332 [Worker-193: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 21:15:10,121 [Worker-202: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 21:15:10,121 [Worker-202: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-28 21:30:25,070 [Worker-205: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:30:25,072 [Worker-205: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-28 21:30:25,075 [Worker-205: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-28 21:30:25,077 [Worker-205: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-28 21:30:28,690 [Worker-206: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-28 21:30:28,690 [Worker-206: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 09:39:53,942 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-04-29 17:05:54,027 [Worker-44: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-29 17:09:59,939 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:09:59,940 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 17:09:59,943 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:09:59,944 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 17:10:02,284 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:10:02,286 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-29 17:10:02,289 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:10:02,291 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-29 17:10:03,952 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 17:10:06,965 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:10:06,983 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 17:10:06,985 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:10:06,988 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-29 17:10:07,651 [Worker-46: Launching Project-Tests (44)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 17:10:07,652 [Worker-46: Launching Project-Tests (44)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 17:11:45,128 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 17:11:47,920 [Worker-47: Launching GlemmClient (12)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 17:11:47,920 [Worker-47: Launching GlemmClient (12)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 17:11:59,357 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 17:12:02,111 [Worker-48: Launching Project-Tests (45)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 17:12:02,112 [Worker-48: Launching Project-Tests (45)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 17:14:59,555 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:14:59,565 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 17:14:59,567 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:14:59,570 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 17:14:59,649 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:14:59,654 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 17:14:59,655 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:14:59,660 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-29 17:34:20,433 [Worker-50: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:34:20,435 [Worker-50: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 17:34:20,438 [Worker-50: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:34:20,445 [Worker-50: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 17:34:20,549 [Worker-50: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:34:20,555 [Worker-50: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 17:34:20,557 [Worker-50: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:34:20,560 [Worker-50: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-29 17:34:26,948 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 17:34:30,163 [Worker-51: Launching Project-Tests (46)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 17:34:30,163 [Worker-51: Launching Project-Tests (46)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 17:37:12,295 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 17:37:14,729 [Worker-54: Launching Project-Tests (47)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 17:37:14,730 [Worker-54: Launching Project-Tests (47)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 17:38:07,361 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 17:38:09,674 [Worker-50: Launching GlemmClient (13)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 17:38:09,674 [Worker-50: Launching GlemmClient (13)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 17:38:31,251 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 17:38:33,834 [Worker-54: Launching Project-Tests (48)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 17:38:33,834 [Worker-54: Launching Project-Tests (48)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 17:45:24,775 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:45:24,780 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-29 17:45:24,794 [Worker-55: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 17:45:24,796 [Worker-55: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-29 17:45:33,181 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-29 17:45:33,181 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 18:29:28,913 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 18:29:32,738 [Worker-63: Launching GlemmClient (14)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 18:29:32,739 [Worker-63: Launching GlemmClient (14)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 18:29:53,125 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 18:29:58,691 [Worker-68: Launching Project-Tests (49)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 18:29:58,691 [Worker-68: Launching Project-Tests (49)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 18:55:22,535 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 18:55:22,536 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 18:55:41,699 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 18:55:41,699 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 18:55:54,608 [Worker-74: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 18:55:54,612 [Worker-74: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 18:55:54,615 [Worker-74: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 18:55:54,617 [Worker-74: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 18:55:54,776 [Worker-74: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 18:55:54,778 [Worker-74: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 18:55:54,779 [Worker-74: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 18:55:54,780 [Worker-74: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-29 19:02:30,502 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 19:02:33,294 [Worker-76: Launching GlemmClient (15)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 19:02:33,294 [Worker-76: Launching GlemmClient (15)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 19:02:53,952 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 19:02:53,952 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 19:03:05,833 [Worker-75: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:03:05,835 [Worker-75: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 19:03:05,837 [Worker-75: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:03:05,841 [Worker-75: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 19:03:05,897 [Worker-75: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:03:05,907 [Worker-75: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 19:03:05,909 [Worker-75: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:03:05,911 [Worker-75: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-29 19:05:13,139 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-29 19:05:13,140 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 19:05:26,358 [Worker-75: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:05:26,360 [Worker-75: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-29 19:05:26,363 [Worker-75: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:05:26,364 [Worker-75: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-29 19:05:32,574 [Worker-76: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-29 19:05:32,574 [Worker-76: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 19:10:55,849 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-29 19:10:55,849 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 19:11:09,074 [Worker-85: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:11:09,077 [Worker-85: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-29 19:11:09,079 [Worker-85: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:11:09,081 [Worker-85: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-29 19:11:14,487 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-04-29 19:11:14,488 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 19:36:15,466 [Worker-95: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:36:15,469 [Worker-95: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 19:36:15,473 [Worker-95: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:36:15,478 [Worker-95: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 19:36:44,108 [Worker-93: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:36:44,110 [Worker-93: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-29 19:36:44,112 [Worker-93: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:36:44,114 [Worker-93: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-29 19:36:44,168 [Worker-93: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:36:44,170 [Worker-93: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 19:36:44,172 [Worker-93: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:36:44,176 [Worker-93: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 19:41:41,794 [Worker-94: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:41:41,796 [Worker-94: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 19:41:41,797 [Worker-94: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:41:41,799 [Worker-94: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 19:45:39,977 [Worker-97: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-04-29 19:45:40,652 [Worker-97: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:45:40,654 [Worker-97: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 19:45:40,655 [Worker-97: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:45:40,657 [Worker-97: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 19:46:10,194 [Worker-103: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:46:10,197 [Worker-103: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 19:46:10,198 [Worker-103: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 19:46:10,204 [Worker-103: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 20:11:28,529 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 20:11:30,729 [Worker-112: Launching GlemmClient (16)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 20:11:30,730 [Worker-112: Launching GlemmClient (16)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 20:11:44,895 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:11:44,896 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 20:11:44,898 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:11:44,900 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 20:11:49,076 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-04-29 20:11:51,411 [Worker-107: Launching GlemmClient (17)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 20:11:51,411 [Worker-107: Launching GlemmClient (17)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-04-29 20:12:06,859 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 20:12:06,859 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 20:12:22,052 [Worker-107: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:12:22,054 [Worker-107: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-29 20:12:22,058 [Worker-107: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:12:22,060 [Worker-107: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-29 20:12:22,169 [Worker-107: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:12:22,171 [Worker-107: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 20:12:22,172 [Worker-107: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:12:22,175 [Worker-107: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-29 20:13:09,271 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 20:13:09,271 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 20:15:20,965 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 20:15:20,965 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 20:15:33,795 [Worker-110: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:15:33,797 [Worker-110: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 20:15:33,798 [Worker-110: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:15:33,799 [Worker-110: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 20:15:33,852 [Worker-110: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:15:33,854 [Worker-110: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 20:15:33,855 [Worker-110: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:15:33,857 [Worker-110: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-29 20:22:28,166 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-04-29 20:22:28,166 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 20:22:39,545 [Worker-114: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-29 20:22:39,545 [Worker-114: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-29 20:22:51,292 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:22:51,301 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-04-29 20:22:51,303 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:22:51,305 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-04-29 20:22:51,365 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:22:51,367 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-29 20:22:51,369 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:22:51,371 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-29 20:22:51,408 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:22:51,410 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-29 20:22:51,411 [Worker-115: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-29 20:22:51,413 [Worker-115: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-30 07:34:57,840 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-04-30 07:47:13,131 [Worker-1: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-04-30 08:48:43,064 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:48:43,067 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-30 08:48:43,069 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:48:43,071 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-30 08:48:44,132 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:48:44,134 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-04-30 08:48:44,137 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:48:44,140 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-04-30 08:48:44,927 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:48:44,940 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-30 08:48:44,942 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:48:44,948 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-30 08:51:26,292 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:51:26,300 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-30 08:51:26,303 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:51:26,304 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-30 08:55:06,753 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:55:06,756 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-30 08:55:06,758 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 08:55:06,761 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-30 08:55:19,752 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-30 08:55:19,753 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 09:02:11,139 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-30 09:02:11,139 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 09:02:25,416 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 09:02:25,419 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-30 09:02:25,421 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 09:02:25,422 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-30 09:02:30,521 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-30 09:02:30,521 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 18:25:44,635 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-30 18:25:44,637 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 18:26:04,657 [Worker-81: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:26:04,659 [Worker-81: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-30 18:26:04,661 [Worker-81: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:26:04,662 [Worker-81: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-30 18:26:11,059 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-04-30 18:26:11,059 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 18:55:14,523 [Worker-85: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-30 18:55:14,524 [Worker-85: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 18:55:26,184 [Worker-89: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:55:26,186 [Worker-89: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-30 18:55:26,190 [Worker-89: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:55:26,192 [Worker-89: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-30 18:55:26,340 [Worker-89: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:55:26,342 [Worker-89: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-30 18:55:26,344 [Worker-89: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:55:26,346 [Worker-89: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-30 18:55:31,728 [Worker-88: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-04-30 18:55:31,728 [Worker-88: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 18:55:53,871 [Worker-79: Launching Executing test in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-30 18:55:53,871 [Worker-79: Launching Executing test in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B test
+2020-04-30 18:56:04,178 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-30 18:56:04,178 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 18:56:15,329 [Worker-88: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:56:15,331 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-04-30 18:56:15,333 [Worker-88: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:56:15,335 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-04-30 18:56:15,576 [Worker-88: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:56:15,580 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-30 18:56:15,582 [Worker-88: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 18:56:15,584 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-04-30 19:12:12,833 [Worker-98: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-04-30 19:12:12,834 [Worker-98: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-04-30 19:12:24,121 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 19:12:24,124 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-04-30 19:12:24,125 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 19:12:24,127 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-04-30 19:12:24,177 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 19:12:24,178 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-04-30 19:12:24,181 [Worker-100: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-04-30 19:12:24,183 [Worker-100: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-04 18:23:42,395 [Worker-10: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-04 18:24:02,145 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:02,148 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-04 18:24:02,152 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:02,154 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-04 18:24:12,028 [Worker-3: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-05-04 18:24:17,315 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:17,317 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-04 18:24:17,319 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:17,321 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-04 18:24:17,339 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-04 18:24:17,340 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-04 18:24:17,382 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:17,611 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:17,613 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-04 18:24:17,615 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:17,618 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-04 18:24:41,931 [Worker-9: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-05-04 18:24:42,302 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:42,304 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-04 18:24:42,306 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:42,309 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-04 18:24:42,556 [Worker-9: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-05-04 18:24:42,978 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:42,980 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-04 18:24:42,982 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:24:42,984 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-04 18:24:51,733 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-04 18:24:51,734 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-04 18:25:15,609 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:15,615 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-04 18:25:15,617 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:15,621 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-04 18:25:15,722 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:15,725 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-04 18:25:15,728 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:15,731 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-04 18:25:16,218 [Worker-13: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-05-04 18:25:16,786 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:16,788 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-04 18:25:16,790 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:16,793 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-04 18:25:16,794 [Worker-13: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-04 18:25:16,794 [Worker-13: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-04 18:25:16,806 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:17,120 [Worker-13: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-04 18:25:17,546 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:17,548 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-04 18:25:17,549 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:25:17,550 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-04 18:25:23,789 [Worker-7: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-04 18:25:23,790 [Worker-7: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-04 18:26:10,629 [Worker-14: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-05-04 18:26:10,925 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:26:10,927 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-04 18:26:10,929 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:26:10,931 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-04 18:26:11,055 [Worker-14: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-04 18:26:11,188 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:26:11,190 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-04 18:26:11,191 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:26:11,193 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-04 18:26:22,961 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-04 18:26:22,962 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-04 18:30:09,512 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:30:09,515 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-04 18:30:09,517 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:30:09,519 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-04 18:30:15,979 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-05-04 18:30:18,561 [Worker-11: Launching Project-Tests (50)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-04 18:30:18,561 [Worker-11: Launching Project-Tests (50)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-05-04 18:35:27,490 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:35:27,493 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-04 18:35:27,495 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:35:27,498 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-04 18:35:33,047 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-05-04 18:35:33,047 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-04 18:36:01,616 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:36:01,619 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-04 18:36:01,621 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:36:01,623 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-04 18:36:06,819 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-04 18:36:06,819 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-04 18:38:03,638 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:03,641 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-04 18:38:03,644 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:03,648 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-04 18:38:18,515 [Worker-22: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-04 18:38:18,653 [Worker-22: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-04 18:38:18,771 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:18,776 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-04 18:38:18,780 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:18,782 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-04 18:38:19,040 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,045 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-04 18:38:19,047 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,070 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-04 18:38:19,071 [Worker-25: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-04 18:38:19,071 [Worker-25: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-04 18:38:19,078 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,237 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,240 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-04 18:38:19,242 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,255 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-04 18:38:19,377 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,379 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-04 18:38:19,380 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,382 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-04 18:38:19,486 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,487 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-04 18:38:19,489 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,492 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-04 18:38:19,500 [Worker-25: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-04 18:38:19,502 [Worker-25: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-04 18:38:19,508 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,627 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,650 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-04 18:38:19,652 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:38:19,655 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-04 18:38:43,815 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-04 18:38:43,815 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-04 18:39:00,151 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:39:00,153 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-04 18:39:00,155 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-04 18:39:00,156 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-04 18:39:08,295 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-04 18:39:08,295 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 08:38:44,230 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:38:44,235 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 08:38:44,237 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:38:44,240 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 08:39:37,997 [Worker-50: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:39:37,999 [Worker-50: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 08:39:38,000 [Worker-50: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:39:38,002 [Worker-50: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 08:39:46,910 [Worker-49: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 08:39:46,911 [Worker-49: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-05 08:40:00,791 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 08:40:00,791 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 08:46:55,398 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 08:46:55,398 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 08:50:16,178 [Worker-56: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-05 08:50:16,393 [Worker-56: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-05 08:50:16,503 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:16,505 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-05 08:50:16,507 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:16,509 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-05 08:50:16,830 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:16,832 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-05 08:50:16,833 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:16,836 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-05 08:50:16,836 [Worker-53: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-05 08:50:16,837 [Worker-53: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-05 08:50:16,843 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,001 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,003 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 08:50:17,004 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,009 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 08:50:17,248 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,250 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 08:50:17,251 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,253 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 08:50:17,340 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,341 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 08:50:17,342 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,343 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 08:50:17,344 [Worker-53: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-05 08:50:17,344 [Worker-53: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-05 08:50:17,351 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,434 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,458 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 08:50:17,460 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:50:17,463 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 08:50:27,372 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 08:50:27,372 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 08:52:18,180 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:52:18,184 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 08:52:18,185 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:52:18,187 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 08:54:07,007 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-05 08:54:42,714 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:54:42,718 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 08:54:42,721 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:54:42,723 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 08:54:53,780 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 08:54:53,781 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 08:57:57,574 [Worker-2: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:57:57,578 [Worker-2: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 08:57:57,581 [Worker-2: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 08:57:57,583 [Worker-2: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 08:58:02,201 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 08:58:02,201 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 09:11:59,381 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 09:11:59,381 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 09:14:04,441 [Worker-5: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-05 09:14:04,668 [Worker-5: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-05 09:14:26,669 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:26,672 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-05 09:14:26,674 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:26,676 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-05 09:14:27,367 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:27,435 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-05 09:14:27,437 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:27,450 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-05 09:14:27,454 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-05 09:14:27,454 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-05 09:14:27,478 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:29,671 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:29,675 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 09:14:29,676 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:29,679 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 09:14:29,818 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:29,821 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 09:14:29,823 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:29,831 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 09:14:30,067 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:30,077 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 09:14:30,079 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:30,121 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 09:14:30,134 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-05 09:14:30,134 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-05 09:14:30,171 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:30,300 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:30,334 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:14:30,340 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:14:30,358 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:27:34,896 [Worker-17: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-05 09:27:35,069 [Worker-17: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-05 09:27:44,155 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,158 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-05 09:27:44,162 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,165 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-05 09:27:44,481 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,493 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-05 09:27:44,495 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,518 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-05 09:27:44,518 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-05 09:27:44,518 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-05 09:27:44,530 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,612 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,643 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 09:27:44,644 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,651 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 09:27:44,909 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,912 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 09:27:44,922 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:44,926 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 09:27:45,017 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:45,040 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 09:27:45,043 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:45,045 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 09:27:45,046 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-05 09:27:45,046 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-05 09:27:45,054 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:45,200 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:45,203 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:27:45,205 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:27:45,207 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:31:05,355 [Worker-17: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-05-05 09:31:05,362 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:31:05,363 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:31:05,365 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:31:05,367 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:31:35,261 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-05 09:37:43,642 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:37:43,645 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:37:43,647 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:37:43,648 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:38:54,357 [Worker-4: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-05 09:38:54,586 [Worker-4: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-05 09:38:54,834 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:54,842 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-05 09:38:54,845 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:54,850 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-05 09:38:55,334 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:55,453 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-05 09:38:55,455 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:55,473 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-05 09:38:55,478 [Worker-16: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-05 09:38:55,479 [Worker-16: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-05 09:38:55,544 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:56,847 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:56,849 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 09:38:56,851 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:56,853 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 09:38:57,006 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:57,017 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 09:38:57,019 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:57,022 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 09:38:57,127 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:57,176 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 09:38:57,178 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:57,244 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 09:38:57,250 [Worker-16: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-05 09:38:57,250 [Worker-16: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-05 09:38:57,256 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:57,578 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:57,583 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:38:57,586 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:38:57,589 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:39:57,531 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-05 09:40:29,940 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:29,943 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-05 09:40:29,947 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:29,949 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-05 09:40:31,089 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:31,090 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-05 09:40:31,093 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:31,095 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-05 09:40:32,258 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,261 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 09:40:32,264 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,268 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 09:40:32,481 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,491 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 09:40:32,495 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,497 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 09:40:32,795 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,797 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 09:40:32,799 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,801 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 09:40:32,905 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,907 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:40:32,909 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:40:32,913 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:41:26,085 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:41:26,088 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:41:26,089 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:41:26,092 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:41:59,124 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-05 09:42:31,695 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:42:31,697 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:42:31,699 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:42:31,701 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:50:50,678 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:50:50,683 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 09:50:50,685 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:50:50,687 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 09:50:51,233 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:50:51,235 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 09:50:51,238 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:50:51,240 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 09:50:52,136 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:50:52,139 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:50:52,141 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:50:52,143 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:51:11,340 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 09:51:11,341 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 09:52:36,410 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-05 09:53:39,245 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:53:39,248 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 09:53:39,251 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:53:39,254 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 09:53:40,223 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:53:40,226 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 09:53:40,228 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:53:40,231 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 09:53:41,551 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:53:41,554 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 09:53:41,557 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 09:53:41,560 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 09:54:16,101 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 09:54:16,103 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 10:03:09,047 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 10:03:09,052 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 10:03:09,054 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 10:03:09,057 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 10:07:46,781 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 10:07:46,878 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 10:11:09,126 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-05-05 10:11:09,127 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 10:11:22,806 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 10:11:22,809 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 10:11:22,811 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 10:11:22,814 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 10:11:22,862 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 10:11:22,880 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 10:11:22,883 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 10:11:22,931 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 10:11:29,993 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 10:11:29,993 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 11:22:28,091 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-05-05 11:22:28,092 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 11:22:44,174 [Worker-29: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:22:44,181 [Worker-29: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 11:22:44,183 [Worker-29: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:22:44,186 [Worker-29: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 11:22:53,346 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-05-05 11:22:57,510 [Worker-26: Launching Project-Tests (51)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 11:22:57,511 [Worker-26: Launching Project-Tests (51)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B package
+2020-05-05 11:45:36,207 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 11:45:36,208 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 11:45:51,770 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:45:51,774 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 11:45:51,781 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:45:51,784 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 11:45:56,561 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 11:45:56,561 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 11:54:02,608 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 11:54:02,608 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 11:54:20,312 [Worker-37: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 11:54:20,313 [Worker-37: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-05 11:54:28,589 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 11:54:28,589 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 11:54:47,438 [Worker-37: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-05 11:54:47,745 [Worker-37: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-05 11:54:58,343 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:54:58,344 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-05 11:54:58,346 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:54:58,348 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-05 11:54:58,677 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:54:58,680 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-05 11:54:58,682 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:54:58,685 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-05 11:54:58,685 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-05 11:54:58,688 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-05 11:54:58,749 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:00,971 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:00,977 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 11:55:00,979 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:00,982 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 11:55:01,148 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:01,150 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 11:55:01,152 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:01,154 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 11:55:01,260 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:01,264 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 11:55:01,269 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:01,273 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 11:55:01,274 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-05 11:55:01,275 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-05 11:55:01,280 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:01,401 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:01,416 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 11:55:01,418 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 11:55:01,421 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 11:55:09,594 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 11:55:09,594 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:05:38,759 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:05:38,761 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 12:05:38,762 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:05:38,764 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 12:05:44,479 [Worker-47: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 12:05:44,479 [Worker-47: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:06:08,827 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:06:08,829 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 12:06:08,832 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:06:08,833 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 12:06:15,485 [Worker-49: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 12:06:15,486 [Worker-49: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:06:43,596 [Worker-49: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-05 12:06:43,703 [Worker-49: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-05 12:46:22,983 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:22,985 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-05 12:46:22,987 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:22,989 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-05 12:46:23,249 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,258 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-05 12:46:23,260 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,266 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-05 12:46:23,266 [Worker-46: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-05 12:46:23,266 [Worker-46: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-05 12:46:23,283 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,350 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,352 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 12:46:23,354 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,359 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 12:46:23,542 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,550 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 12:46:23,551 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,556 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 12:46:23,706 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,724 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 12:46:23,726 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:23,728 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 12:46:23,730 [Worker-46: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-05 12:46:23,733 [Worker-46: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-05 12:46:23,741 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:46:24,999 [Worker-46: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 12:47:18,334 [Worker-46: reload maven project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:json:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-05-05 12:47:36,963 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:47:36,965 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-05 12:47:36,967 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:47:36,968 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-05 12:47:37,068 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:47:37,069 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 12:47:37,071 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:47:37,073 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 12:47:37,605 [Worker-53: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 12:47:37,634 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:json:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-05-05 12:47:37,774 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:47:37,776 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 12:47:37,777 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:47:37,782 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 12:47:38,819 [Worker-47: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:json:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-05-05 12:47:38,850 [Worker-47: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap:json:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap:json:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-05-05 12:49:47,774 [Worker-54: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 12:49:47,822 [Worker-54: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 12:49:47,927 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:49:47,930 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 12:49:47,932 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:49:47,934 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 12:49:54,891 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 12:49:54,891 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:52:10,424 [Worker-56: reload maven project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/glemm/client/GlemmClient/0.1-SNAPSHORT/GlemmClient-0.1-SNAPSHORT.pom
+2020-05-05 12:52:10,433 [Worker-56: reload maven project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.glemm.client:GlemmClient:jar:0.1-SNAPSHORT is missing, no dependency information available
+2020-05-05 12:52:10,437 [Worker-56: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 12:52:10,607 [Worker-56: reload maven project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/glemm/client/GlemmClient/0.1-SNAPSHORT/GlemmClient-0.1-SNAPSHORT.jar
+2020-05-05 12:52:20,169 [Worker-58: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 12:52:20,200 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.glemm.client:GlemmClient:jar:0.1-SNAPSHORT is missing, no dependency information available
+2020-05-05 12:52:20,204 [Worker-58: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 12:52:20,287 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:52:20,289 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 12:52:20,291 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:52:20,293 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 12:52:21,292 [Worker-56: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.glemm.client:GlemmClient:jar:0.1-SNAPSHORT is missing, no dependency information available
+2020-05-05 12:52:21,295 [Worker-56: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 12:52:21,605 [Worker-56: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/glemm/client/GlemmClient/0.1-SNAPSHORT/GlemmClient-0.1-SNAPSHORT-sources.jar
+2020-05-05 12:52:21,644 [Worker-56: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHORT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:sources:0.1-SNAPSHORT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-05-05 12:53:30,308 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:53:30,310 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 12:53:30,312 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:53:30,314 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 12:53:36,169 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 12:53:36,170 [Worker-57: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:54:20,107 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-05 12:54:20,107 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:54:32,189 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 12:54:32,190 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:55:10,939 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:55:10,941 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 12:55:10,942 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:55:10,945 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 12:55:11,404 [Worker-53: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 12:55:11,432 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.glemm.client:GlemmClient:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-05-05 12:55:11,436 [Worker-53: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 12:55:11,513 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:55:11,515 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 12:55:11,516 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:55:11,518 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 12:55:12,582 [Worker-57: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.glemm.client:GlemmClient:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-05-05 12:55:12,586 [Worker-57: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 12:55:12,631 [Worker-57: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-05-05 12:55:37,241 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 12:55:37,241 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:59:39,183 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-05 12:59:39,184 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 12:59:56,347 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:59:56,349 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 12:59:56,350 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 12:59:56,352 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 13:00:08,942 [Worker-63: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 13:00:08,942 [Worker-63: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-05 13:00:16,064 [Worker-61: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 13:00:16,066 [Worker-61: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 13:00:16,067 [Worker-61: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 13:00:16,068 [Worker-61: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 13:00:23,723 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 13:00:23,724 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 20:46:11,340 [Worker-98: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-05 20:46:11,343 [Worker-98: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 20:48:36,489 [Worker-103: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 20:48:36,492 [Worker-103: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 20:48:36,494 [Worker-103: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 20:48:36,495 [Worker-103: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 20:51:30,544 [Worker-102: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-05-05 20:51:30,678 [Worker-102: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 20:51:30,686 [Worker-102: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 20:51:30,687 [Worker-102: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-05 20:51:31,208 [Worker-102: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 20:51:31,210 [Worker-102: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 20:51:31,211 [Worker-102: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 20:51:31,213 [Worker-102: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 20:52:12,938 [Worker-103: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-05 20:52:12,938 [Worker-103: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 20:53:07,672 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 20:53:07,673 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 21:09:20,749 [Worker-105: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 21:09:20,750 [Worker-105: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-05 21:09:40,819 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 21:09:40,819 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 21:15:43,828 [Worker-108: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:15:43,830 [Worker-108: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-05 21:15:43,831 [Worker-108: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:15:43,832 [Worker-108: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-05 21:15:43,940 [Worker-108: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 21:15:43,974 [Worker-108: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 21:15:43,974 [Worker-108: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-05 21:15:43,974 [Worker-108: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServices: de.korap.services:wformServices:0.1-SNAPSHOT with classifier  to /wformServices/target/classes
+2020-05-05 21:15:44,108 [Worker-108: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:15:44,109 [Worker-108: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 21:15:44,110 [Worker-108: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:15:44,111 [Worker-108: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 21:16:29,208 [Worker-112: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 21:16:29,208 [Worker-112: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 21:22:02,196 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-05-05 21:22:02,196 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 21:23:25,868 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 21:23:25,869 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 21:26:39,022 [main] ERROR o.e.m.j.u.i.DownloadSourcesActionDelegate - Could not schedule source download
+org.eclipse.jdt.core.JavaModelException: target/wformServices-0.1-SNAPSHOT/WEB-INF/classes/de/korap/services [in wformServices] is not on its project's build path
+	at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:580) ~[na:na]
+	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:253) ~[na:na]
+	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:593) ~[na:na]
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:323) ~[na:na]
+	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:309) ~[na:na]
+	at org.eclipse.jdt.internal.core.PackageFragmentRoot.getKind(PackageFragmentRoot.java:511) ~[na:na]
+	at org.eclipse.jdt.internal.core.PackageFragmentRoot.getSourceAttachmentPath(PackageFragmentRoot.java:636) ~[na:na]
+	at org.eclipse.m2e.jdt.ui.internal.DownloadSourcesActionDelegate.setActiveEditor(DownloadSourcesActionDelegate.java:51) ~[na:na]
+	at org.eclipse.ui.internal.EditorPluginAction.editorChanged(EditorPluginAction.java:69) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.EditorActionBuilder$EditorContribution.editorChanged(EditorActionBuilder.java:80) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.EditorActionBuilder$ExternalContributor.setActiveEditor(EditorActionBuilder.java:129) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.EditorActionBars.partChanged(EditorActionBars.java:343) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage.updateActivations(WorkbenchPage.java:325) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage.access$18(WorkbenchPage.java:306) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:213) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$3.run(PartServiceImpl.java:250) [org.eclipse.e4.ui.workbench_1.6.0.v20180516-2019.jar:na]
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [org.eclipse.equinox.common_3.10.0.v20180412-1130.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:247) [org.eclipse.e4.ui.workbench_1.6.0.v20180516-2019.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:772) [org.eclipse.e4.ui.workbench_1.6.0.v20180516-2019.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:681) [org.eclipse.e4.ui.workbench_1.6.0.v20180516-2019.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:676) [org.eclipse.e4.ui.workbench_1.6.0.v20180516-2019.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3285) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage.access$26(WorkbenchPage.java:3192) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3174) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:71) [org.eclipse.swt.win32.win32.x86_64_3.107.0.v20180611-0422.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3169) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3133) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3123) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:373) [org.eclipse.jdt.ui_3.14.0.v20180529-1023.jar:na]
+	at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:179) [org.eclipse.jdt.ui_3.14.0.v20180529-1023.jar:na]
+	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:284) [org.eclipse.jdt.ui_3.14.0.v20180529-1023.jar:na]
+	at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:249) [org.eclipse.jdt.ui_3.14.0.v20180529-1023.jar:na]
+	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:271) [org.eclipse.jdt.ui_3.14.0.v20180529-1023.jar:na]
+	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:249) [org.eclipse.jdt.ui_3.14.0.v20180529-1023.jar:na]
+	at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(OpenAndExpand.java:50) [org.eclipse.jdt.ui_3.14.0.v20180529-1023.jar:na]
+	at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:216) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.navigator.CommonNavigatorManager$1.open(CommonNavigatorManager.java:180) [org.eclipse.ui.navigator_3.7.100.v20180524-1240.jar:na]
+	at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:46) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:850) [org.eclipse.jface_3.14.0.v20180423-0714.jar:na]
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) [org.eclipse.equinox.common_3.10.0.v20180412-1130.jar:na]
+	at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44) [org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173) ~[org.eclipse.jface_3.14.0.v20180423-0714.jar:na]
+	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:847) ~[org.eclipse.jface_3.14.0.v20180423-0714.jar:na]
+	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1162) ~[org.eclipse.jface_3.14.0.v20180423-0714.jar:na]
+	at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:451) ~[na:na]
+	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:273) ~[org.eclipse.jface_3.14.0.v20180423-0714.jar:na]
+	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:268) ~[org.eclipse.jface_3.14.0.v20180423-0714.jar:na]
+	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:308) ~[org.eclipse.jface_3.14.0.v20180423-0714.jar:na]
+	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86) ~[org.eclipse.swt.win32.win32.x86_64_3.107.0.v20180611-0422.jar:na]
+	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4118) ~[org.eclipse.swt.win32.win32.x86_64_3.107.0.v20180611-0422.jar:na]
+	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) ~[org.eclipse.swt.win32.win32.x86_64_3.107.0.v20180611-0422.jar:na]
+	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3931) ~[org.eclipse.swt.win32.win32.x86_64_3.107.0.v20180611-0422.jar:na]
+	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3534) ~[org.eclipse.swt.win32.win32.x86_64_3.107.0.v20180611-0422.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1170) ~[org.eclipse.e4.ui.workbench.swt_0.14.200.v20180516-2019.jar:na]
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) ~[org.eclipse.core.databinding.observable_1.6.200.v20180424-1922.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1059) ~[org.eclipse.e4.ui.workbench.swt_0.14.200.v20180516-2019.jar:na]
+	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) ~[org.eclipse.e4.ui.workbench_1.6.0.v20180516-2019.jar:na]
+	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:667) ~[org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) ~[org.eclipse.core.databinding.observable_1.6.200.v20180424-1922.jar:na]
+	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597) ~[org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) ~[org.eclipse.ui.workbench_3.111.0.v20180524-1156.jar:na]
+	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) ~[na:na]
+	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) ~[org.eclipse.equinox.app_1.3.500.v20171221-2204.jar:na]
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) ~[org.eclipse.osgi_3.13.0.v20180409-1500.jar:na]
+	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) ~[org.eclipse.osgi_3.13.0.v20180409-1500.jar:na]
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) ~[org.eclipse.osgi_3.13.0.v20180409-1500.jar:na]
+	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) ~[org.eclipse.osgi_3.13.0.v20180409-1500.jar:na]
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_231]
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_231]
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_231]
+	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_231]
+	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656) ~[org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar:na]
+	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592) ~[org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar:na]
+	at org.eclipse.equinox.launcher.Main.run(Main.java:1498) ~[org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar:na]
+2020-05-05 21:32:28,346 [Worker-121: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:32:28,348 [Worker-121: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 21:32:28,349 [Worker-121: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:32:28,351 [Worker-121: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 21:32:34,565 [Worker-123: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 21:32:34,565 [Worker-123: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 21:36:32,894 [Worker-124: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 21:36:32,895 [Worker-124: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-05 21:36:32,896 [Worker-124: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServices: de.korap.services:wformServices:0.1-SNAPSHOT with classifier  to /wformServices/target/classes
+2020-05-05 21:36:32,931 [Worker-125: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:36:32,933 [Worker-125: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 21:36:32,935 [Worker-125: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:36:32,938 [Worker-125: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 21:36:48,450 [Worker-126: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-05 21:36:48,570 [Worker-123: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:36:48,580 [Worker-123: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 21:36:48,581 [Worker-123: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:36:48,586 [Worker-123: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 21:36:48,587 [Worker-123: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-05 21:36:48,587 [Worker-123: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-05 21:36:48,608 [Worker-123: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:36:54,891 [Worker-121: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-05-05 21:36:54,892 [Worker-121: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 21:37:18,878 [Worker-125: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:37:18,880 [Worker-125: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-05 21:37:18,881 [Worker-125: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 21:37:18,883 [Worker-125: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-05 21:37:24,653 [Worker-126: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 21:37:24,653 [Worker-126: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 22:55:41,575 [Worker-136: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 22:55:41,620 [Worker-136: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 22:55:41,621 [Worker-136: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-05 22:55:41,622 [Worker-136: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServices: de.korap.services:wformServices:0.1-SNAPSHOT with classifier  to /wformServices/target/classes
+2020-05-05 22:55:41,737 [Worker-136: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 22:55:41,739 [Worker-136: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 22:55:41,741 [Worker-136: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 22:55:41,743 [Worker-136: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 22:55:49,131 [Worker-132: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 22:55:49,131 [Worker-132: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-05 22:56:30,535 [Worker-139: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 22:56:30,535 [Worker-139: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-05 22:56:30,536 [Worker-139: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServices: de.korap.services:wformServices:0.1-SNAPSHOT with classifier  to /wformServices/target/classes
+2020-05-05 22:56:39,160 [Worker-137: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-05 22:56:39,196 [Worker-137: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-05 22:56:39,196 [Worker-137: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-05 22:56:39,197 [Worker-137: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServices: de.korap.services:wformServices:0.1-SNAPSHOT with classifier  to /wformServices/target/classes
+2020-05-05 22:56:39,279 [Worker-137: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 22:56:39,280 [Worker-137: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-05 22:56:39,281 [Worker-137: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-05 22:56:39,283 [Worker-137: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-05 22:56:44,590 [Worker-139: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-05 22:56:44,591 [Worker-139: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 09:29:00,695 [Worker-159: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-06 09:29:00,696 [Worker-159: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-06 09:29:00,696 [Worker-159: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServices: de.korap.services:wformServices:0.1-SNAPSHOT with classifier  to /wformServices/target/classes
+2020-05-06 09:29:00,779 [Worker-159: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 09:29:00,782 [Worker-159: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 09:29:00,784 [Worker-159: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 09:29:00,786 [Worker-159: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 09:29:07,264 [Worker-160: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 09:29:07,264 [Worker-160: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 09:35:31,634 [Worker-165: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 09:35:31,635 [Worker-165: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 09:38:14,827 [Worker-167: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 09:38:14,827 [Worker-167: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 09:38:52,768 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 09:38:52,768 [Worker-166: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 09:39:01,441 [Worker-168: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 09:39:01,443 [Worker-168: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 09:39:01,445 [Worker-168: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 09:39:01,446 [Worker-168: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 09:39:08,587 [Worker-168: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 09:39:08,587 [Worker-168: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 09:41:23,999 [Worker-166: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-06 09:41:24,109 [Worker-166: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-06 09:41:24,109 [Worker-166: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-06 09:41:24,529 [Worker-166: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 09:41:24,530 [Worker-166: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 09:41:24,532 [Worker-166: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 09:41:24,533 [Worker-166: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 09:42:00,767 [Worker-172: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 09:42:00,767 [Worker-172: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 09:48:30,399 [Worker-175: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 09:48:30,399 [Worker-175: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 14:58:14,697 [Worker-204: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 14:58:14,698 [Worker-204: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 14:58:44,525 [Worker-202: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-06 14:58:44,525 [Worker-202: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-06 14:58:44,537 [Worker-202: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 14:58:44,540 [Worker-202: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 14:58:44,542 [Worker-202: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 14:58:44,544 [Worker-202: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 14:58:52,549 [Worker-206: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 14:58:52,550 [Worker-206: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 15:00:17,300 [Worker-203: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:00:17,301 [Worker-203: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 15:00:17,302 [Worker-203: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:00:17,304 [Worker-203: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 15:00:28,422 [Worker-202: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 15:00:28,422 [Worker-202: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 15:32:36,041 [Worker-7: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-05-06 15:35:12,778 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-06 15:35:36,781 [Worker-12: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 15:35:36,782 [Worker-12: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-06 15:35:48,390 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 15:35:48,390 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 15:36:16,879 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:16,882 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-06 15:36:16,885 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:16,887 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-06 15:36:18,956 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:18,958 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-06 15:36:18,961 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:18,964 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-06 15:36:22,342 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:22,344 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-06 15:36:22,346 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:22,349 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-06 15:36:22,601 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:22,603 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-06 15:36:22,605 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:22,607 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-06 15:36:22,835 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:22,838 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-06 15:36:22,842 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:22,865 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-06 15:36:23,068 [Worker-14: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-06 15:36:23,069 [Worker-14: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-06 15:36:23,088 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:23,101 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 15:36:23,103 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:36:23,117 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 15:36:30,115 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 15:36:30,115 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 15:39:27,207 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-06 15:46:44,802 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-06 15:47:22,642 [Worker-11: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-06 15:47:22,643 [Worker-11: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-06 15:47:23,168 [Worker-11: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-06 15:47:23,782 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:23,790 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-06 15:47:23,794 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:23,821 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-06 15:47:24,886 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:24,889 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-06 15:47:24,893 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:24,895 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-06 15:47:26,331 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,333 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-06 15:47:26,335 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,338 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-06 15:47:26,556 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,560 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-06 15:47:26,562 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,564 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-06 15:47:26,710 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,734 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-06 15:47:26,741 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,761 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-06 15:47:26,763 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-06 15:47:26,764 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-06 15:47:26,794 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,947 [Worker-12: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-06 15:47:26,948 [Worker-12: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-06 15:47:26,954 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:26,980 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 15:47:26,982 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 15:47:27,034 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 15:47:42,935 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 15:47:42,936 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 16:01:12,316 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:01:12,323 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 16:01:12,324 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:01:12,327 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 16:01:18,189 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 16:01:18,189 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 16:02:28,322 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:02:28,325 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 16:02:28,327 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:02:28,329 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 16:02:34,355 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 16:02:34,355 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 16:02:59,140 [Worker-6: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:02:59,154 [Worker-6: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 16:02:59,156 [Worker-6: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:02:59,158 [Worker-6: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 16:03:40,692 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:03:40,695 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 16:03:40,739 [Worker-15: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:03:40,748 [Worker-15: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 16:03:47,504 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 16:03:47,504 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 16:08:18,306 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:08:18,310 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 16:08:18,312 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:08:18,314 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 16:08:27,745 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:08:27,748 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 16:08:27,750 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 16:08:27,752 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 16:08:40,381 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 16:08:40,381 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 19:43:33,834 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 19:43:33,857 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 19:58:30,804 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 19:58:30,808 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-06 19:58:30,810 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 19:58:30,813 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-06 19:58:31,974 [Worker-46: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-06 19:58:32,037 [Worker-46: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-06 19:58:32,037 [Worker-46: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-06 19:58:32,038 [Worker-46: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-06 19:58:32,717 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 19:58:32,719 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-06 19:58:32,720 [Worker-46: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-06 19:58:32,722 [Worker-46: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-06 20:00:22,239 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-06 20:00:22,240 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-06 20:01:30,653 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-06 20:01:30,654 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-07 09:24:43,346 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-07 09:24:43,348 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-07 09:26:05,845 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-07 09:26:05,845 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-07 09:26:36,065 [Worker-74: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-07 09:26:36,066 [Worker-74: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-07 09:27:04,314 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-07 09:27:04,314 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-07 09:43:22,389 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 09:43:22,391 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-07 09:43:22,393 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 09:43:22,394 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-07 09:43:22,921 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 09:43:22,923 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-07 09:43:22,925 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 09:43:22,927 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-07 09:43:23,385 [Worker-72: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-07 09:43:23,385 [Worker-72: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-07 09:43:23,385 [Worker-72: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-07 09:43:23,390 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 09:43:23,392 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-07 09:43:23,394 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 09:43:23,396 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-07 09:43:32,390 [Worker-85: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-07 09:43:32,390 [Worker-85: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-07 09:45:04,600 [Worker-85: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 09:45:04,601 [Worker-85: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 09:45:04,602 [Worker-85: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 09:45:04,621 [Worker-85: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 09:45:04,623 [Worker-85: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 09:45:04,624 [Worker-85: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 10:00:27,116 [Worker-87: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 10:00:27,118 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-07 10:00:27,119 [Worker-87: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 10:00:27,121 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-07 10:00:27,154 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 10:00:27,155 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 10:00:27,156 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 10:00:27,168 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 10:00:27,169 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 10:00:27,169 [Worker-87: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 10:00:54,135 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 10:00:54,137 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 10:00:54,139 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 10:00:54,160 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 10:00:54,162 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 10:00:54,164 [Worker-88: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 11:24:51,642 [Worker-101: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-07 11:24:51,643 [Worker-101: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-07 11:25:05,389 [Worker-101: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 11:25:05,396 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-07 11:25:05,397 [Worker-101: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 11:25:05,398 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-07 11:25:05,427 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 11:25:05,428 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 11:25:05,429 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 11:25:05,442 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-07 11:25:05,443 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-07 11:25:05,444 [Worker-101: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-07 12:07:35,344 [Worker-110: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-07 12:07:35,761 [Worker-110: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-07 12:07:36,244 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:36,248 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-07 12:07:36,249 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:36,252 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-07 12:07:36,860 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:36,869 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-07 12:07:36,871 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:36,876 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-07 12:07:36,877 [Worker-112: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-07 12:07:36,877 [Worker-112: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-07 12:07:39,329 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,392 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,394 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-07 12:07:42,396 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,398 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-07 12:07:42,515 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,517 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-07 12:07:42,518 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,521 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-07 12:07:42,629 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,631 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-07 12:07:42,633 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,637 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-07 12:07:42,638 [Worker-112: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-07 12:07:42,638 [Worker-112: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-07 12:07:42,643 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,925 [Worker-112: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-07 12:07:42,926 [Worker-112: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-07 12:07:42,926 [Worker-112: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-07 12:07:42,930 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,932 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-07 12:07:42,934 [Worker-112: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-07 12:07:42,936 [Worker-112: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-07 12:07:50,598 [Worker-110: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-07 12:07:50,598 [Worker-110: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 09:19:03,813 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-12 09:33:36,489 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-12 09:33:55,832 [Worker-9: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-05-12 09:34:00,244 [Worker-9: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-12 09:34:00,481 [Worker-9: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 09:34:00,482 [Worker-9: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 09:34:00,482 [Worker-9: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 09:34:00,674 [Worker-9: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-05-12 09:34:01,460 [Worker-4: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services:utils:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:utils:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-05-12 09:34:01,460 [Worker-9: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-12 09:34:10,332 [Worker-4: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-05-12 09:34:12,775 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:12,777 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 09:34:12,780 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:12,782 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 09:34:13,547 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:13,549 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 09:34:13,551 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:13,554 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 09:34:13,555 [Worker-4: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-12 09:34:13,556 [Worker-4: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-12 09:34:13,615 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:14,236 [Worker-4: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-05-12 09:34:14,876 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:14,899 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-12 09:34:14,902 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:14,908 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-12 09:34:15,381 [Worker-4: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-05-12 09:34:15,840 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:15,843 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 09:34:15,845 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:15,847 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 09:34:16,059 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:16,063 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-12 09:34:16,065 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:16,070 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-12 09:34:16,071 [Worker-4: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-12 09:34:16,071 [Worker-4: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-12 09:34:16,077 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:16,472 [Worker-4: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-12 09:34:16,543 [Worker-4: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 09:34:16,543 [Worker-4: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 09:34:16,543 [Worker-4: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 09:34:16,923 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:16,925 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 09:34:16,927 [Worker-4: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:16,929 [Worker-4: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 09:34:23,828 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 09:34:23,829 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 09:34:40,503 [Worker-10: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-05-12 09:34:40,621 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:40,623 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 09:34:40,625 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:40,627 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 09:34:40,974 [Worker-10: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-05-12 09:34:41,122 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:41,123 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-12 09:34:41,125 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:41,127 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-12 09:34:41,365 [Worker-10: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-05-12 09:34:41,438 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:41,440 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 09:34:41,442 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:34:41,444 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 09:34:46,072 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-05-12 09:34:46,073 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 09:34:59,643 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 09:34:59,644 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 09:36:21,729 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 09:36:21,729 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 09:36:38,437 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:36:38,439 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-12 09:36:38,440 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 09:36:38,441 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-12 09:36:44,315 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-05-12 09:36:44,315 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 09:37:09,269 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 09:37:09,270 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 10:54:55,534 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 10:54:55,535 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 10:57:12,436 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 10:57:12,441 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-12 10:57:12,442 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 10:57:12,444 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-12 10:57:12,659 [Worker-21: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-12 10:57:12,805 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 10:57:12,805 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 10:57:12,806 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 10:57:12,937 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 10:57:12,941 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 10:57:12,943 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 10:57:12,945 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 10:57:17,369 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 10:57:17,369 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 11:04:52,945 [Worker-31: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 11:04:52,945 [Worker-31: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 11:05:02,826 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 11:05:02,827 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 11:12:03,249 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-05-12 11:12:03,249 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 11:12:15,759 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 11:12:15,760 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 11:34:30,760 [Worker-7: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-12 11:34:39,446 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 11:34:39,448 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 11:36:49,691 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 11:36:49,691 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 11:42:14,684 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-12 11:48:45,362 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-05-12 11:48:45,364 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 11:50:09,458 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:09,460 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 11:50:09,463 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:09,465 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 11:50:10,442 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:10,452 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 11:50:10,454 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:10,481 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 11:50:11,798 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:11,801 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-12 11:50:11,803 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:11,806 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-12 11:50:11,998 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:12,000 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 11:50:12,002 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:12,004 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 11:50:12,268 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:12,275 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-12 11:50:12,277 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:12,283 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-12 11:50:12,469 [Worker-1: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 11:50:12,470 [Worker-1: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 11:50:12,470 [Worker-1: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 11:50:12,486 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:12,489 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 11:50:12,491 [Worker-1: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 11:50:12,494 [Worker-1: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 11:50:21,302 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 11:50:21,303 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 12:54:32,686 [ModalContext] WARN  o.e.m.j.i.JavaProjectConversionParticipant - wformServiceJar has multiple source entries, this is not supported yet
+2020-05-12 12:54:40,577 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-12 12:54:41,077 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServiceJar/src
+2020-05-12 12:54:41,078 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServiceJar/src/test/java because it overlaps with /wformServiceJar/src
+2020-05-12 12:54:41,341 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-05-12 12:54:41,881 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-12 12:54:42,169 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServiceJar/src
+2020-05-12 12:54:42,170 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServiceJar/src/test/java because it overlaps with /wformServiceJar/src
+2020-05-12 12:54:42,372 [Worker-22: Enabling Maven Dependency Management] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 1 sec
+2020-05-12 12:54:52,046 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:54:52,048 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 12:54:52,049 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:54:52,051 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 12:56:51,216 [Worker-23: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-12 12:56:51,590 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:56:51,595 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 12:56:51,599 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:56:51,601 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 12:57:03,789 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 12:57:03,790 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 12:59:28,201 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:59:28,203 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 12:59:28,205 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:59:28,207 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 12:59:40,824 [Worker-27: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 12:59:40,824 [Worker-27: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 12:59:50,464 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:59:50,466 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 12:59:50,467 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 12:59:50,469 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 12:59:55,729 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 12:59:55,729 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 13:00:09,123 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 13:00:09,125 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 13:00:09,127 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 13:00:09,128 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 13:00:09,146 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 13:00:09,148 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 13:00:09,149 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 13:00:09,155 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 13:00:17,614 [Worker-22: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 13:00:17,614 [Worker-22: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 13:00:25,522 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 13:00:25,522 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 15:21:51,211 [Worker-29: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:21:51,213 [Worker-29: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 15:21:51,215 [Worker-29: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:21:51,217 [Worker-29: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 15:24:10,839 [Worker-27: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-12 15:24:11,357 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:24:11,359 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 15:24:11,361 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:24:11,363 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 15:27:23,763 [Worker-29: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 15:27:23,763 [Worker-29: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 15:27:37,051 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 15:27:37,051 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 15:28:00,593 [Worker-31: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:28:00,595 [Worker-31: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 15:28:00,596 [Worker-31: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:28:00,598 [Worker-31: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 15:28:00,630 [Worker-31: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:28:00,631 [Worker-31: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 15:28:00,634 [Worker-31: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:28:00,635 [Worker-31: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 15:28:09,453 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 15:28:09,453 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 15:28:56,373 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:28:56,375 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 15:28:56,376 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:28:56,378 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 15:29:03,610 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 15:29:03,610 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 15:32:23,784 [Worker-27: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 15:32:23,784 [Worker-27: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 15:32:32,233 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 15:32:32,233 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 15:43:14,123 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-12 15:43:14,124 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 15:48:27,661 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 15:48:27,662 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 15:58:39,113 [Worker-39: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 15:58:39,113 [Worker-39: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 15:58:47,690 [Worker-40: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:58:47,693 [Worker-40: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 15:58:47,694 [Worker-40: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:58:47,696 [Worker-40: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 15:58:47,813 [Worker-40: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:58:47,816 [Worker-40: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 15:58:47,818 [Worker-40: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 15:58:47,819 [Worker-40: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 15:58:57,226 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 15:58:57,226 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:00:11,129 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 16:00:11,129 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:01:03,836 [Worker-41: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 16:01:03,836 [Worker-41: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:01:11,898 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:01:11,900 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 16:01:11,902 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:01:11,904 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 16:01:12,117 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:01:12,119 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 16:01:12,120 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:01:12,123 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 16:01:12,260 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:01:12,262 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 16:01:12,264 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:01:12,266 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 16:04:42,190 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:04:42,192 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 16:04:42,194 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:04:42,195 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 16:05:46,019 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:05:46,022 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 16:05:46,024 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:05:46,027 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 16:06:40,980 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:06:40,982 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 16:06:40,983 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:06:40,985 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 16:06:48,227 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-12 16:06:48,227 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:08:14,896 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:08:14,898 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 16:08:14,899 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:08:14,901 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 16:08:14,974 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:08:14,976 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 16:08:14,977 [Worker-42: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:08:14,980 [Worker-42: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 16:08:20,284 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 16:08:20,284 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:08:36,666 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 16:08:36,666 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:09:49,436 [Worker-42: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 16:09:49,437 [Worker-42: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:09:59,205 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 16:09:59,206 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:18:32,697 [Worker-41: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:18:32,698 [Worker-41: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:18:44,274 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:18:44,274 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:19:57,814 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:19:57,820 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 16:19:57,822 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:19:57,824 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 16:20:03,539 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:20:03,540 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:21:29,997 [Worker-44: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-12 16:21:30,215 [Worker-44: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-12 16:21:30,281 [Worker-45: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:21:30,284 [Worker-45: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 16:21:30,286 [Worker-45: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:21:30,288 [Worker-45: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 16:21:30,622 [Worker-45: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:21:30,624 [Worker-45: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 16:21:30,625 [Worker-45: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:21:30,627 [Worker-45: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 16:21:30,627 [Worker-45: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-12 16:21:30,629 [Worker-45: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-12 16:21:30,686 [Worker-45: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:21:32,847 [Worker-45: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:21:32,849 [Worker-45: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 16:21:32,851 [Worker-45: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:21:32,853 [Worker-45: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 16:21:42,106 [Worker-38: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:21:42,106 [Worker-38: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:22:04,477 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:22:04,477 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:24:20,595 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:24:20,597 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 16:24:20,599 [Worker-38: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:24:20,601 [Worker-38: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 16:24:27,841 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:24:27,841 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:28:45,936 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-05-12 16:28:52,352 [Worker-47: Launching GlemmServices (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:28:52,352 [Worker-47: Launching GlemmServices (2)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-05-12 16:29:49,278 [Worker-48: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:29:49,278 [Worker-48: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:29:59,441 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-12 16:29:59,441 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:34:15,678 [Worker-51: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:34:15,679 [Worker-51: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:34:57,892 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-05-12 16:35:01,754 [Worker-54: Launching GlemmServices (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:35:01,754 [Worker-54: Launching GlemmServices (3)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-05-12 16:35:31,767 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-12 16:35:31,767 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:35:46,930 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:35:46,931 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:37:56,734 [main] INFO  o.e.m2e.actions.ExecutePomAction - Creating new launch configuration
+2020-05-12 16:38:01,871 [Worker-50: Launching GlemmServices (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:38:01,872 [Worker-50: Launching GlemmServices (4)] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B compile
+2020-05-12 16:40:46,525 [Worker-55: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:40:46,525 [Worker-55: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:40:55,725 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:40:55,727 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 16:40:55,728 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:40:55,730 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 16:40:55,943 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:40:55,945 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 16:40:55,948 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:40:55,951 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 16:40:55,952 [Worker-53: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-12 16:40:55,952 [Worker-53: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-12 16:40:55,968 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:41:03,597 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:41:03,597 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:43:09,133 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:43:09,135 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 16:43:09,135 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:43:09,137 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 16:43:14,877 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:43:14,877 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:44:50,530 [Worker-53: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-12 16:44:50,628 [Worker-53: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 16:44:50,628 [Worker-53: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 16:44:50,629 [Worker-53: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 16:44:50,778 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:44:50,780 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 16:44:50,781 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:44:50,783 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 16:44:51,121 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:44:51,126 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 16:44:51,128 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:44:51,130 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 16:44:51,131 [Worker-56: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-12 16:44:51,131 [Worker-56: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-12 16:44:51,136 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:44:59,574 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:44:59,574 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:45:14,490 [Worker-57: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:45:14,490 [Worker-57: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:45:24,884 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:45:24,884 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:51:49,681 [Worker-56: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:51:49,681 [Worker-56: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 16:52:01,013 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:52:01,014 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 16:52:01,015 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:52:01,017 [Worker-58: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 16:52:01,017 [Worker-58: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-12 16:52:01,017 [Worker-58: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-12 16:52:01,022 [Worker-58: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 16:52:10,873 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:52:10,873 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:54:01,092 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-12 16:54:01,092 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:54:15,329 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 16:54:15,329 [Worker-60: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 16:55:36,572 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-05-12 17:10:16,850 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 17:10:16,854 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 17:10:16,857 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 17:10:16,860 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 17:10:18,000 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 17:10:18,003 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 17:10:18,006 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 17:10:18,009 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 17:10:26,658 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-12 17:10:26,663 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 19:05:44,374 [Worker-26: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 19:05:44,374 [Worker-26: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 19:05:50,696 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:50,698 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 19:05:50,700 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:50,703 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 19:05:51,094 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:51,096 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-12 19:05:51,097 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:51,099 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-12 19:05:51,306 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:51,309 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 19:05:51,311 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:51,313 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 19:05:51,807 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:51,809 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 19:05:51,811 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:51,815 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 19:05:52,031 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:52,032 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-12 19:05:52,034 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:52,039 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-12 19:05:52,050 [Worker-25: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-12 19:05:52,051 [Worker-25: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-12 19:05:52,091 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:52,428 [Worker-25: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 19:05:52,429 [Worker-25: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 19:05:52,429 [Worker-25: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 19:05:52,455 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:52,461 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 19:05:52,462 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:05:52,469 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 19:05:59,061 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 19:05:59,061 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 19:06:48,608 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:06:48,610 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 19:06:48,612 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:06:48,613 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 19:06:55,059 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 19:06:55,059 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 19:08:15,873 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-12 19:08:15,876 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-12 19:08:15,879 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-12 19:08:15,911 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-12 19:08:15,913 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-12 19:08:15,916 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-12 19:09:36,773 [Worker-25: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-12 19:09:37,061 [Worker-25: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-12 19:09:37,201 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:37,204 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 19:09:37,206 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:37,213 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 19:09:37,687 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:37,742 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 19:09:37,754 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:37,867 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 19:09:37,867 [Worker-19: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-12 19:09:37,868 [Worker-19: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-12 19:09:37,888 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,107 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,109 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-12 19:09:39,111 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,114 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-12 19:09:39,235 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,238 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 19:09:39,240 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,242 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 19:09:39,607 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,623 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 19:09:39,625 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,629 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 19:09:39,795 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,805 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-12 19:09:39,812 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:39,813 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-12 19:09:39,814 [Worker-19: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-12 19:09:39,814 [Worker-19: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-12 19:09:39,819 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:40,068 [Worker-19: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 19:09:40,069 [Worker-19: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 19:09:40,069 [Worker-19: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 19:09:40,074 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:40,076 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 19:09:40,080 [Worker-19: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:09:40,082 [Worker-19: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 19:09:45,127 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 19:09:45,127 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 19:10:31,573 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-12 19:11:31,005 [Worker-11: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:31,009 [Worker-11: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 19:11:31,012 [Worker-11: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:31,014 [Worker-11: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 19:11:32,954 [Worker-11: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:32,958 [Worker-11: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 19:11:32,962 [Worker-11: Building workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:32,964 [Worker-11: Building workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 19:11:36,463 [Worker-1: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-12 19:11:36,680 [Worker-1: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 19:11:36,681 [Worker-1: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 19:11:36,681 [Worker-1: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 19:11:36,897 [Worker-1: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-12 19:11:37,090 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:37,093 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-12 19:11:37,095 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:37,097 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-12 19:11:37,518 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:37,522 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-12 19:11:37,524 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:37,525 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-12 19:11:37,525 [Worker-10: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-12 19:11:37,526 [Worker-10: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-12 19:11:37,560 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:38,870 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:38,872 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-12 19:11:38,874 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:38,876 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-12 19:11:39,071 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:39,075 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-12 19:11:39,076 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:39,079 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-12 19:11:39,496 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:39,513 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-12 19:11:39,516 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:39,519 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-12 19:11:39,750 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:39,753 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-12 19:11:39,754 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:39,772 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-12 19:11:39,773 [Worker-10: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-12 19:11:39,773 [Worker-10: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-12 19:11:39,778 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:40,015 [Worker-10: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 19:11:40,015 [Worker-10: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 19:11:40,016 [Worker-10: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 19:11:40,020 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:40,023 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 19:11:40,024 [Worker-10: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 19:11:40,027 [Worker-10: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 19:11:49,272 [Worker-5: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 19:11:49,273 [Worker-5: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 19:12:01,150 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 19:12:01,151 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 21:45:17,974 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 21:45:17,993 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 21:45:17,996 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 21:45:17,998 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 21:49:17,074 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 21:49:17,119 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 21:49:17,121 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 21:49:17,123 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 21:49:26,568 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 21:49:26,569 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 21:50:39,860 [Worker-32: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 21:50:39,860 [Worker-32: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 21:50:54,648 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 21:50:54,648 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 21:56:16,865 [Worker-34: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 21:56:16,865 [Worker-34: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-12 21:56:27,027 [Worker-35: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 21:56:27,030 [Worker-35: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 21:56:27,032 [Worker-35: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 21:56:27,036 [Worker-35: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 21:56:32,933 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 21:56:32,933 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 22:04:01,553 [Worker-35: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-05-12 22:04:09,520 [Worker-35: Updating Maven Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-12 22:04:09,630 [Worker-35: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 22:04:09,631 [Worker-35: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 22:04:09,631 [Worker-35: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 22:04:14,385 [Worker-35: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /Tests/src
+2020-05-12 22:04:14,386 [Worker-35: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /Tests/src/test/java because it overlaps with /Tests/src
+2020-05-12 22:04:15,076 [Worker-35: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 13 sec
+2020-05-12 22:05:19,378 [Worker-35: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-12 22:05:19,379 [Worker-35: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-12 22:05:19,380 [Worker-35: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-12 22:05:19,387 [Worker-35: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 22:05:19,391 [Worker-35: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-12 22:05:19,392 [Worker-35: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-12 22:05:19,394 [Worker-35: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-12 22:05:34,697 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-12 22:05:34,697 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-12 22:08:14,621 [Worker-34: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-12 22:08:14,635 [Worker-34: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-12 22:08:14,638 [Worker-34: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-12 22:08:14,660 [Worker-34: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-12 22:08:14,663 [Worker-34: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-12 22:08:14,665 [Worker-34: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 09:52:01,266 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-15 09:59:47,210 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-15 11:33:38,505 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 11:33:38,506 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 11:33:58,630 [Worker-21: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 11:33:58,630 [Worker-21: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 11:34:08,532 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:08,534 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 11:34:08,537 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:08,539 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 11:34:12,297 [Worker-21: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-05-15 11:34:15,913 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:15,915 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 11:34:15,917 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:15,919 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 11:34:16,029 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:16,031 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 11:34:16,034 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:16,037 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 11:34:16,137 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:16,139 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-15 11:34:16,141 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:16,143 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-15 11:34:16,244 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:16,246 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 11:34:16,248 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:16,250 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 11:34:16,569 [Worker-21: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-05-15 11:34:17,009 [Worker-26: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download javadoc for de.korap.services:utils:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:utils:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-05-15 11:34:17,091 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:17,093 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-15 11:34:17,095 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:17,097 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-15 11:34:17,357 [Worker-21: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-15 11:34:17,417 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 11:34:17,417 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 11:34:17,417 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 11:34:17,820 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:17,822 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 11:34:17,824 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 11:34:17,826 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 11:35:08,164 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 11:35:08,165 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 11:36:13,541 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 11:36:13,541 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 11:36:26,230 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 11:36:26,230 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 11:40:41,053 [Worker-21: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 11:40:41,053 [Worker-21: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 11:40:41,054 [Worker-21: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 14:42:10,417 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-15 14:42:12,830 [Worker-9: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 14:42:12,837 [Worker-9: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 14:42:12,838 [Worker-9: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 14:42:12,839 [Worker-9: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 14:42:18,336 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-05-15 14:42:19,526 [Worker-6: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-15 14:42:19,686 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-05-15 14:42:20,214 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-15 14:42:20,310 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 14:42:20,311 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 14:42:20,311 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 14:42:20,312 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 14:42:20,846 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-05-15 14:42:21,330 [Worker-6: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-15 14:42:21,714 [Worker-6: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-15 14:42:22,479 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:22,482 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 14:42:22,485 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:22,486 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 14:42:22,989 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:22,991 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 14:42:22,993 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:23,001 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 14:42:23,003 [Worker-8: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-15 14:42:23,004 [Worker-8: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-15 14:42:23,037 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:24,232 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:24,234 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 14:42:24,236 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:24,238 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 14:42:24,412 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:24,414 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-15 14:42:24,416 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:24,418 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-15 14:42:25,208 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:25,274 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 14:42:25,276 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:25,559 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 14:42:27,240 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:27,287 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-15 14:42:27,289 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:27,441 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-15 14:42:27,442 [Worker-8: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-15 14:42:27,442 [Worker-8: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-15 14:42:27,449 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:27,753 [Worker-8: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 14:42:27,753 [Worker-8: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 14:42:27,754 [Worker-8: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 14:42:27,755 [Worker-8: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 14:42:27,761 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:27,763 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 14:42:27,768 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:42:27,770 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 14:43:42,357 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:43:42,360 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 14:43:42,362 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:43:42,364 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 14:43:42,812 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:43:42,814 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 14:43:42,816 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:43:42,819 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 14:43:42,924 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:43:42,926 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-15 14:43:42,927 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:43:42,930 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-15 14:43:50,357 [Worker-13: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 14:43:50,358 [Worker-13: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 14:43:57,953 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 14:43:57,953 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 14:46:42,635 [Worker-7: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:46:42,637 [Worker-7: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 14:46:42,639 [Worker-7: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:46:42,641 [Worker-7: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 14:47:14,107 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-15 14:47:14,107 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 14:47:31,994 [Worker-0: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:47:31,996 [Worker-0: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 14:47:31,998 [Worker-0: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:47:32,000 [Worker-0: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 14:47:32,191 [Worker-0: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:47:32,193 [Worker-0: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 14:47:32,195 [Worker-0: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:47:32,197 [Worker-0: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 14:47:32,552 [Worker-0: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:47:32,553 [Worker-0: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 14:47:32,554 [Worker-0: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:47:32,556 [Worker-0: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 14:47:54,268 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-05-15 14:47:54,268 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 14:48:05,195 [Worker-1: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:48:05,200 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 14:48:05,201 [Worker-1: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:48:05,204 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 14:48:18,057 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 14:48:18,057 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 14:48:28,248 [Worker-11: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:48:28,251 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 14:48:28,255 [Worker-11: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 14:48:28,257 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 14:48:29,936 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 14:48:29,938 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 14:48:29,941 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 14:48:29,941 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 14:48:29,965 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 14:48:29,968 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 14:48:29,970 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 14:48:29,970 [Worker-11: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 14:48:46,676 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 14:48:46,677 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 14:48:46,679 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 14:48:46,679 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 14:48:46,699 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 14:48:46,701 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 14:48:46,702 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 14:48:46,702 [Worker-1: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 15:28:21,087 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 15:28:21,089 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 15:28:21,093 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 15:28:21,093 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 15:28:21,116 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 15:28:21,120 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 15:28:21,121 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 15:28:21,122 [Worker-15: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 16:58:30,155 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-15 16:58:32,131 [Worker-4: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 16:58:32,131 [Worker-4: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 16:58:32,133 [Worker-4: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 16:58:32,133 [Worker-4: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 17:04:07,661 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-15 17:04:09,670 [Worker-1: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 17:04:09,672 [Worker-1: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 17:04:09,672 [Worker-1: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 17:04:09,672 [Worker-1: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 17:56:57,769 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-15 17:57:00,329 [Worker-2: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 17:57:00,332 [Worker-2: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 17:57:00,333 [Worker-2: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 17:57:00,335 [Worker-2: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 17:58:17,547 [Worker-7: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-05-15 17:58:19,082 [Worker-7: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-05-15 17:58:19,386 [Worker-7: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-15 17:58:19,466 [Worker-7: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 17:58:19,467 [Worker-7: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 17:58:19,468 [Worker-7: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 17:58:19,469 [Worker-7: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 17:58:20,396 [Worker-7: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-05-15 17:58:20,794 [Worker-7: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-05-15 17:59:00,068 [Worker-7: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-05-15 17:59:00,523 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:00,525 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 17:59:00,528 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:00,529 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 17:59:00,779 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:00,805 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 17:59:00,808 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:00,810 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 17:59:00,811 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-15 17:59:00,812 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-15 17:59:00,838 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:01,185 [Worker-7: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-05-15 17:59:01,544 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:01,546 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 17:59:01,548 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:01,550 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 17:59:01,769 [Worker-7: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-05-15 17:59:02,000 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:02,001 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-15 17:59:02,002 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:02,004 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-15 17:59:02,200 [Worker-7: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-15 17:59:02,505 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:02,507 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 17:59:02,508 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:02,510 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 17:59:02,687 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:02,695 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-15 17:59:02,697 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:02,713 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-15 17:59:02,714 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-05-15 17:59:02,714 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-05-15 17:59:02,720 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:02,964 [Worker-7: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-05-15 17:59:03,006 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 17:59:03,006 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 17:59:03,006 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 17:59:03,007 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 17:59:03,092 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:03,094 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 17:59:03,097 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 17:59:03,100 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 17:59:10,340 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 17:59:10,341 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:00:40,296 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-05-15 18:00:40,378 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:40,382 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 18:00:40,383 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:40,385 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 18:00:40,570 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-05-15 18:00:40,686 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:40,688 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 18:00:40,689 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:40,691 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 18:00:40,872 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-05-15 18:00:40,953 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:40,954 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-15 18:00:40,956 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:40,957 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-15 18:00:41,112 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-15 18:00:41,236 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:41,238 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 18:00:41,239 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:41,241 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 18:00:41,275 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:41,283 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-15 18:00:41,284 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:41,289 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-15 18:00:41,377 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 18:00:41,377 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 18:00:41,377 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 18:00:41,378 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 18:00:41,388 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:41,390 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 18:00:41,392 [Worker-3: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:00:41,394 [Worker-3: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 18:01:08,471 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-15 18:01:08,471 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:01:19,072 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 18:01:19,073 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:01:29,407 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-05-15 18:01:29,408 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:02:27,207 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-05-15 18:02:27,208 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:02:45,844 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-15 18:02:45,844 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:03:52,180 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:03:52,182 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 18:03:52,183 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:03:52,184 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 18:03:52,206 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:03:52,207 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 18:03:52,209 [Worker-8: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:03:52,211 [Worker-8: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 18:03:59,605 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-15 18:03:59,605 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:08:06,737 [Worker-3: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-15 18:08:06,738 [Worker-3: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 18:08:17,885 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:08:17,887 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 18:08:17,890 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:08:17,893 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 18:08:17,894 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-15 18:08:17,894 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-15 18:08:17,940 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:08:22,699 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-15 18:08:22,699 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:12:48,559 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-15 18:12:48,560 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:13:58,669 [Worker-16: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-15 18:13:58,670 [Worker-16: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 18:14:08,679 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:14:08,681 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 18:14:08,682 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:14:08,684 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 18:14:08,685 [Worker-18: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-15 18:14:08,685 [Worker-18: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-15 18:14:08,697 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:14:13,960 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-05-15 18:14:13,961 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:19:00,938 [Worker-19: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 18:19:00,939 [Worker-19: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 18:19:10,342 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 18:19:10,343 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:23:57,096 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 18:23:57,096 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:27:33,966 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:33,967 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 18:27:33,969 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:33,970 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 18:27:34,104 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,106 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-15 18:27:34,108 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,110 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-15 18:27:34,209 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,212 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 18:27:34,213 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,215 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 18:27:34,345 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,347 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-15 18:27:34,348 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,350 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-15 18:27:34,417 [Worker-24: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 18:27:34,417 [Worker-24: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 18:27:34,418 [Worker-24: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 18:27:34,419 [Worker-24: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 18:27:34,427 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,429 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 18:27:34,431 [Worker-24: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:27:34,433 [Worker-24: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 18:27:40,677 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 18:27:40,677 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:28:06,028 [Worker-23: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-15 18:28:06,028 [Worker-23: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 18:28:11,619 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-15 18:28:11,619 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:28:33,264 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:28:33,266 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 18:28:33,267 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:28:33,268 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 18:28:33,664 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:28:33,667 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 18:28:33,668 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:28:33,670 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 18:28:33,794 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:28:33,796 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 18:28:33,797 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:28:33,799 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 18:28:39,105 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-05-15 18:28:39,105 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:30:02,752 [Worker-19: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 18:30:02,752 [Worker-19: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 18:30:09,391 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:30:09,394 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 18:30:09,396 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:30:09,398 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 18:30:17,511 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 18:30:17,512 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:39:13,676 [Worker-25: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 18:39:13,676 [Worker-25: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 18:39:24,116 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,118 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-05-15 18:39:24,119 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,121 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-05-15 18:39:24,226 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,228 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-15 18:39:24,229 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,231 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-15 18:39:24,266 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,268 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 18:39:24,269 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,271 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 18:39:24,351 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,354 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-05-15 18:39:24,356 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,358 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-05-15 18:39:24,494 [Worker-25: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-05-15 18:39:24,494 [Worker-25: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-05-15 18:39:24,494 [Worker-25: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-05-15 18:39:24,495 [Worker-25: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-05-15 18:39:24,499 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,501 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 18:39:24,503 [Worker-25: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:24,505 [Worker-25: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 18:39:29,482 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-05-15 18:39:29,482 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 18:39:50,270 [Worker-25: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:50,272 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-05-15 18:39:50,273 [Worker-25: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 18:39:50,275 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-05-15 18:39:50,316 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 18:39:50,318 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 18:39:50,320 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 18:39:50,320 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 18:39:50,333 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-05-15 18:39:50,334 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-05-15 18:39:50,335 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-05-15 18:39:50,335 [Worker-25: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-05-15 19:47:36,421 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-05-15 19:48:56,746 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:48:56,748 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 19:48:56,751 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:48:56,752 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 19:49:01,808 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-05-15 19:49:01,809 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 19:49:11,607 [Worker-13: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-05-15 19:49:12,159 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:12,161 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-05-15 19:49:12,163 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:12,165 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-05-15 19:49:12,546 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:12,548 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 19:49:12,550 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:12,552 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 19:49:17,602 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 19:49:17,602 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-05-15 19:49:38,033 [Worker-9: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices2:0.0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-05-15 19:49:39,592 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:39,594 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-05-15 19:49:39,596 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:39,598 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-05-15 19:49:39,602 [Worker-9: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-05-15 19:49:39,604 [Worker-9: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-05-15 19:49:39,632 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:39,879 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:39,881 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-05-15 19:49:39,883 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:49:39,885 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-05-15 19:50:08,282 [Worker-7: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 19:50:08,282 [Worker-7: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-05-15 19:50:19,690 [Worker-6: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-05-15 19:50:20,003 [Worker-6: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:50:20,005 [Worker-6: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-05-15 19:50:20,007 [Worker-6: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-05-15 19:50:20,010 [Worker-6: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-05-15 19:50:28,738 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServiceJar
+2020-05-15 19:50:28,738 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-12 15:32:15,197 [Worker-7: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-06-12 16:14:14,011 [Worker-3: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-06-12 18:39:21,465 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:21,467 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-12 18:39:21,469 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:21,470 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-12 18:39:25,783 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:25,785 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-12 18:39:25,787 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:25,789 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-12 18:39:30,143 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-06-12 18:39:30,938 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:30,940 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-12 18:39:30,941 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:30,943 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-12 18:39:31,371 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:31,373 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-12 18:39:31,376 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:31,378 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-12 18:39:31,724 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-12 18:39:32,565 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:32,600 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-12 18:39:32,602 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:32,604 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-12 18:39:33,145 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-06-12 18:39:33,230 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-12 18:39:33,231 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-12 18:39:33,231 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-12 18:39:33,232 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-12 18:39:33,512 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:33,516 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-12 18:39:33,518 [Worker-28: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 18:39:33,519 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-12 18:39:39,278 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-12 18:39:39,278 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-12 18:39:39,279 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-12 18:39:39,279 [Worker-28: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-12 18:51:40,685 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-12 18:51:40,686 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-12 19:38:26,976 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-12 19:38:26,977 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-12 19:42:57,188 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-06-12 19:42:57,189 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-12 19:43:09,583 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-12 19:43:09,583 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-12 19:44:53,180 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-12 19:44:53,180 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-12 19:45:07,035 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-12 19:45:07,035 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-12 19:45:31,503 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:31,516 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-12 19:45:31,517 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:31,519 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-12 19:45:31,721 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:31,722 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-12 19:45:31,725 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:31,726 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-12 19:45:31,953 [Worker-36: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-06-12 19:45:32,288 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:32,290 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-12 19:45:32,291 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:32,293 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-12 19:45:42,431 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:42,433 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-12 19:45:42,434 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:42,437 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-12 19:45:42,598 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:42,600 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-12 19:45:42,601 [Worker-36: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-12 19:45:42,603 [Worker-36: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-12 19:45:50,307 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-12 19:45:50,307 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-15 09:27:08,673 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-06-15 21:30:08,432 [Worker-123: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-15 21:30:08,434 [Worker-123: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-15 22:04:56,603 [Worker-126: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-15 22:04:56,603 [Worker-126: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-15 22:06:06,036 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:06,039 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-15 22:06:06,042 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:06,044 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-15 22:06:07,728 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:07,730 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-15 22:06:07,732 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:07,734 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-15 22:06:09,026 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:09,028 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-15 22:06:09,030 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:09,032 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-15 22:06:09,205 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:09,207 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-15 22:06:09,209 [Worker-127: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-15 22:06:09,211 [Worker-127: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-15 22:06:17,415 [Worker-126: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-15 22:06:17,415 [Worker-126: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-15 22:13:58,062 [Worker-128: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-15 22:13:58,062 [Worker-128: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 08:57:50,132 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-06-16 08:57:51,664 [Worker-1: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:28:49,266 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:49,268 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-16 09:28:49,270 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:49,272 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-16 09:28:52,395 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:52,397 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-16 09:28:52,399 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:52,401 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-16 09:28:53,213 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:53,215 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-16 09:28:53,217 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:53,218 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-16 09:28:55,711 [Worker-16: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-16 09:28:55,767 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-16 09:28:55,773 [Worker-16: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:28:56,592 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-16 09:28:56,596 [Worker-16: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:28:56,899 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:56,900 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 09:28:56,902 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:56,904 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 09:28:56,905 [Worker-16: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 09:28:56,906 [Worker-16: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 09:28:56,960 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:28:57,989 [Worker-14: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-16 09:28:57,993 [Worker-14: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:28:58,017 [Worker-14: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services:JsonTraverse:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:JsonTraverse:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-06-16 09:31:37,919 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:31:37,920 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-16 09:31:37,922 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:31:37,924 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-16 09:31:38,671 [Worker-20: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-16 09:31:38,732 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-16 09:31:38,738 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:31:38,941 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:31:38,945 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 09:31:38,947 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:31:38,949 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 09:31:38,950 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 09:31:38,950 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 09:31:38,956 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:31:39,943 [Worker-21: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-16 09:31:39,953 [Worker-21: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:31:39,977 [Worker-21: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download javadoc for de.korap.services:JsonTraverse:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:JsonTraverse:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-06-16 09:32:01,719 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 09:32:01,719 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 09:33:11,901 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-16 09:33:11,901 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 09:33:31,930 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:33:31,932 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-16 09:33:31,934 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:33:31,936 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-16 09:33:46,823 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 09:33:46,823 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 09:37:13,629 [Worker-14: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-16 09:37:13,686 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:37:13,688 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 09:37:13,689 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:37:13,691 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 09:37:13,692 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 09:37:13,692 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 09:37:13,703 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:37:33,765 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 09:37:33,765 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 09:38:28,843 [Worker-20: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-16 09:38:28,905 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:38:39,436 [Worker-22: Loading pom.xml] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:38:40,062 [Worker-22: Loading pom.xml] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/JsonTraverse//JsonTraverse-.pom
+2020-06-16 09:38:40,075 [Worker-22: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar: is missing, no dependency information available
+2020-06-16 09:41:31,289 [Worker-20: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-16 09:41:31,339 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-16 09:41:31,343 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:41:31,463 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:41:31,464 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 09:41:31,466 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:41:31,468 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 09:42:49,862 [main] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-16 09:42:49,867 [main] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:43:04,439 [Worker-18: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-16 09:43:04,492 [Worker-18: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:43:04,494 [Worker-18: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 09:43:04,598 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:43:04,600 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 09:43:04,602 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:43:04,604 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 09:43:15,317 [Worker-21: Loading pom.xml] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:43:15,319 [Worker-21: Loading pom.xml] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 09:43:27,521 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 09:43:27,522 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 09:52:29,792 [Worker-18: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 09:52:29,793 [Worker-18: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-16 09:52:29,793 [Worker-18: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:52:29,794 [Worker-18: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-16 09:56:26,543 [Worker-20: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-16 09:56:26,605 [Worker-20: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:56:26,606 [Worker-20: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 09:56:26,951 [Worker-20: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:56:26,951 [Worker-20: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 09:56:27,205 [Worker-20: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-16 09:56:27,818 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:56:27,821 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-16 09:56:27,823 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:56:27,827 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-16 09:56:28,001 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 09:56:28,002 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 09:56:28,009 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:56:28,020 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 09:56:28,021 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:56:28,039 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 09:56:28,039 [Worker-21: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 09:56:28,039 [Worker-21: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 09:56:28,045 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 09:57:12,403 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 09:57:12,403 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 10:04:07,814 [Worker-20: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-16 10:04:07,855 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 10:04:07,855 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 10:04:07,855 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-16 10:04:08,187 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 10:04:08,188 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 10:04:08,188 [Worker-20: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-16 10:04:08,955 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 10:04:08,958 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 10:04:08,959 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 10:04:08,962 [Worker-20: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 10:04:08,962 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 10:04:08,963 [Worker-20: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 10:04:08,968 [Worker-20: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 10:04:17,996 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 10:04:17,997 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 11:08:50,565 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:08:50,576 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-16 11:08:50,578 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:08:50,579 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-16 11:08:50,774 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 11:08:50,775 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 11:08:50,775 [Worker-21: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-16 11:08:50,779 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:08:50,781 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 11:08:50,783 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:08:50,784 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 11:08:56,637 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 11:08:56,637 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 11:14:25,600 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:14:25,602 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-16 11:14:25,604 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:14:25,606 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-16 11:14:25,665 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:14:25,667 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 11:14:25,669 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:14:25,671 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 11:14:31,542 [Worker-31: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-16 11:14:31,621 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:14:31,624 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 11:14:31,625 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:14:31,629 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 11:14:31,630 [Worker-28: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 11:14:31,630 [Worker-28: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 11:14:31,642 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:14:41,769 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 11:14:41,770 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 11:58:51,700 [Worker-28: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices2
+2020-06-16 11:58:51,738 [Worker-28: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-16 11:58:51,990 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:58:51,991 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-16 11:58:51,993 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:58:51,995 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-16 11:58:51,996 [Worker-32: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices2
+2020-06-16 11:58:51,996 [Worker-32: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices2
+2020-06-16 11:58:52,004 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:58:52,258 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:58:52,260 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 11:58:52,263 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:58:52,266 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 11:58:52,267 [Worker-32: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 11:58:52,267 [Worker-32: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 11:58:52,275 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 11:59:06,504 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 11:59:06,504 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 12:13:05,846 [Worker-28: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-16 12:13:06,207 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:13:06,209 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-16 12:13:06,211 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:13:06,213 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-16 12:13:06,311 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:13:06,313 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 12:13:06,314 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:13:06,316 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 12:13:06,317 [Worker-32: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-16 12:13:06,317 [Worker-32: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-16 12:13:06,328 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:13:06,768 [Worker-32: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-06-16 12:13:06,809 [Worker-32: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-16 12:13:06,809 [Worker-32: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-16 12:13:06,809 [Worker-32: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-16 12:13:06,809 [Worker-32: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-16 12:13:06,960 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:13:06,961 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-16 12:13:06,962 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:13:06,964 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-16 12:15:12,090 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 12:15:12,090 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 12:19:10,223 [Worker-32: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 12:19:10,228 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:19:10,229 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 12:19:10,230 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:19:10,231 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 12:19:15,325 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 12:19:15,326 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 12:23:20,223 [Worker-28: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 12:23:20,227 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:23:20,228 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 12:23:20,230 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 12:23:20,230 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 12:23:27,316 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 12:23:27,317 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 15:19:01,412 [Worker-54: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:19:01,418 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:01,419 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-16 15:19:01,420 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:01,422 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-16 15:19:01,521 [Worker-54: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:19:01,524 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:01,526 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-16 15:19:01,528 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:01,529 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-16 15:19:06,783 [Worker-53: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-16 15:19:06,784 [Worker-53: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 15:19:36,137 [Worker-53: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:19:36,140 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:36,143 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-16 15:19:36,145 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:36,147 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-16 15:19:36,232 [Worker-53: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:19:36,235 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:36,237 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-16 15:19:36,238 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:36,239 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-16 15:19:36,364 [Worker-53: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:19:36,368 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:36,370 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 15:19:36,371 [Worker-53: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:19:36,373 [Worker-53: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 15:23:08,706 [Worker-53: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-16 15:23:08,706 [Worker-53: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 15:26:27,264 [Worker-54: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:26:27,268 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:26:27,271 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-16 15:26:27,272 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:26:27,273 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-16 15:30:51,880 [Worker-47: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:30:51,888 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:30:51,889 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-16 15:30:51,890 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:30:51,892 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-16 15:31:04,104 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-06-16 15:31:04,104 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-16 15:31:18,662 [Worker-54: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:31:18,666 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:31:18,668 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-16 15:31:18,671 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:31:18,673 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-16 15:31:18,734 [Worker-54: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-16 15:31:18,736 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:31:18,738 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-16 15:31:18,739 [Worker-54: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-16 15:31:18,740 [Worker-54: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-16 15:31:35,427 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-16 15:31:35,427 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 18:12:08,089 [Worker-106: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 18:12:08,097 [Worker-106: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:08,099 [Worker-106: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-17 18:12:08,101 [Worker-106: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:08,102 [Worker-106: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-17 18:12:08,221 [Worker-106: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 18:12:08,223 [Worker-106: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:08,224 [Worker-106: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-17 18:12:08,225 [Worker-106: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:08,228 [Worker-106: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-17 18:12:09,274 [Worker-106: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-17 18:12:09,274 [Worker-106: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-17 18:12:09,274 [Worker-106: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-17 18:12:09,275 [Worker-106: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-17 18:12:09,277 [Worker-106: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 18:12:09,281 [Worker-106: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:09,283 [Worker-106: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-17 18:12:09,284 [Worker-106: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:09,286 [Worker-106: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-17 18:12:16,414 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Project-Tests
+2020-06-17 18:12:16,414 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services_Project-Tests] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 18:12:58,993 [Worker-106: Launching TestJson] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 18:12:58,999 [Worker-106: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:59,001 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-17 18:12:59,002 [Worker-106: Launching TestJson] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:12:59,005 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-17 18:13:05,333 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-06-17 18:13:05,336 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-06-17 18:13:05,339 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-06-17 18:13:05,339 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-06-17 18:13:05,359 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier null to /JsonTraverse/target/classes
+2020-06-17 18:13:05,361 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier null to /GlemmClient/target/classes
+2020-06-17 18:13:05,365 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier null to /Utils/target/classes
+2020-06-17 18:13:05,365 [Worker-106: Launching TestJson] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier null to /wformServiceJar/target/classes
+2020-06-17 18:14:19,117 [Worker-107: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-06-17 18:17:27,585 [Worker-101: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 18:17:27,590 [Worker-101: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:17:27,593 [Worker-101: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-17 18:17:27,594 [Worker-101: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 18:17:27,596 [Worker-101: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-17 18:17:34,337 [Worker-101: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-17 18:17:34,338 [Worker-101: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 18:56:41,488 [Worker-111: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-17 18:56:41,488 [Worker-111: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 19:00:43,515 [Worker-116: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-17 19:00:43,629 [Worker-111: Building Workspace] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 19:00:43,633 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:43,635 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-17 19:00:43,637 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:43,639 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-17 19:00:43,941 [Worker-111: Building Workspace] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 19:00:43,944 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:43,946 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-17 19:00:43,948 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:43,950 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-17 19:00:44,051 [Worker-111: Building Workspace] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 19:00:44,068 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:44,089 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-17 19:00:44,093 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:44,097 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-17 19:00:44,097 [Worker-111: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-17 19:00:44,098 [Worker-111: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-17 19:00:44,239 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:44,309 [Worker-111: Building Workspace] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 19:00:44,312 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:44,315 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-17 19:00:44,316 [Worker-111: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:00:44,318 [Worker-111: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-17 19:11:51,490 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-17 19:11:51,491 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 19:12:15,648 [Worker-115: Build Project] ERROR o.e.m.c.i.URLConnectionCaches - Unexpected URLConnection defaultUseCaches enabled
+2020-06-17 19:12:15,653 [Worker-115: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:12:15,655 [Worker-115: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-17 19:12:15,656 [Worker-115: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 19:12:15,658 [Worker-115: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-17 19:12:25,122 [Worker-114: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-17 19:12:25,122 [Worker-114: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 20:05:18,191 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-06-17 20:05:58,313 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-17 20:05:58,315 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 20:06:20,248 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-17 20:06:20,249 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-17 20:06:20,250 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-17 20:06:21,393 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:06:21,398 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-17 20:06:21,403 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:06:21,405 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-17 20:06:28,810 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-17 20:06:28,810 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 20:10:57,435 [Worker-5: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:10:58,407 [Worker-5: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:10:58,409 [Worker-5: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:10:58,415 [Worker-5: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:10:58,418 [Worker-5: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:11:13,824 [Worker-8: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-17 20:11:14,211 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:14,224 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:11:14,226 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:14,264 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:11:14,268 [Worker-13: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:11:14,268 [Worker-13: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:11:14,323 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:15,003 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:15,019 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-17 20:11:15,020 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:15,023 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-17 20:11:15,532 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:15,540 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-17 20:11:15,542 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:15,544 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-17 20:11:16,115 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:16,121 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-17 20:11:16,123 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:16,131 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-17 20:11:16,201 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:16,203 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-17 20:11:16,205 [Worker-13: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:11:16,207 [Worker-13: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-17 20:15:37,465 [Worker-12: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:15:37,538 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:15:37,699 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:15:37,871 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:15:37,886 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:15:37,888 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:15:37,898 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:15:37,899 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:15:37,899 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:15:37,928 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:15:37,962 [Worker-14: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:15:38,062 [Worker-14: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:17:20,495 [Worker-3: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:17:20,557 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:LemmaResponse:jar:sources:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:17:20,638 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:LemmaResponse:jar:sources:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:17:20,765 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:17:20,778 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:17:20,780 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:17:20,783 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:17:20,783 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:17:20,783 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:17:20,788 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:17:20,872 [Worker-13: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:LemmaResponse:jar:sources:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:17:20,985 [Worker-13: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:LemmaResponse:jar:sources:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:19:05,284 [Worker-12: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:19:05,347 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:19:05,495 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:19:05,568 [Worker-13: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:19:05,578 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:19:05,580 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:19:05,669 [Worker-13: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:19:05,672 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:19:05,673 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:19:05,674 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:19:05,680 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:20:57,506 [Worker-15: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:20:57,576 [Worker-15: Cleaning selected projects] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:20:57,674 [Worker-15: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-17 20:20:57,763 [Worker-3: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:20:57,842 [Worker-14: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:20:57,866 [Worker-14: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:20:57,868 [Worker-14: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:20:57,891 [Worker-14: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:20:57,892 [Worker-14: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:20:57,892 [Worker-14: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:20:57,897 [Worker-14: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:20:57,902 [Worker-3: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:JsonTraverse:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 20:22:44,046 [Worker-13: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:22:44,181 [Worker-13: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:22:44,181 [Worker-13: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:22:44,950 [Worker-3: Loading pom.xml] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/json/JsonTraverse//JsonTraverse-.pom
+2020-06-17 20:22:44,959 [Worker-3: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.json:JsonTraverse:jar: is missing, no dependency information available
+2020-06-17 20:24:05,098 [Worker-12: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:24:05,146 [Worker-12: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-17 20:24:05,310 [Worker-12: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-17 20:24:05,381 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:24:05,383 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:24:05,384 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:24:05,387 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:24:05,387 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:24:05,388 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:24:05,394 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:24:05,456 [Worker-13: Loading pom.xml] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-17 20:24:33,557 [Worker-14: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 20:24:33,610 [Worker-14: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-17 20:24:33,767 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:24:33,847 [Worker-12: Loading pom.xml] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-17 20:24:33,878 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:24:33,883 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:24:33,912 [Worker-14: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:24:33,912 [Worker-14: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:24:33,913 [Worker-14: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:24:33,918 [Worker-14: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:36:35,655 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-17 20:36:35,655 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 20:39:13,651 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:39:13,656 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:39:13,657 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:39:13,661 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:39:26,500 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-17 20:39:26,500 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 20:43:42,447 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:43:42,463 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:43:42,465 [Worker-18: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:43:42,468 [Worker-18: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:43:52,497 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-17 20:43:52,497 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 20:46:33,729 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:46:33,732 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:46:33,737 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:46:33,742 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:46:39,757 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-17 20:46:39,758 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 20:51:19,784 [Worker-19: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-17 20:51:19,830 [Worker-20: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:51:19,856 [Worker-20: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 20:51:19,858 [Worker-20: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:51:19,860 [Worker-20: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 20:51:19,860 [Worker-20: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 20:51:19,861 [Worker-20: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 20:51:19,875 [Worker-20: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:51:20,112 [Worker-20: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:51:20,114 [Worker-20: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-17 20:51:20,116 [Worker-20: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:51:20,119 [Worker-20: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-17 20:51:20,132 [Worker-20: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:51:20,134 [Worker-20: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-17 20:51:20,135 [Worker-20: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 20:51:20,137 [Worker-20: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-17 20:51:37,791 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-17 20:51:37,792 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 21:29:10,406 [Worker-26: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-06-17 21:29:52,575 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-17 21:29:52,575 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-17 21:53:57,189 [Worker-27: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-17 21:53:57,232 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:json:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 21:53:57,303 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:json:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 21:53:57,372 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 21:53:57,373 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-17 21:53:57,375 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 21:53:57,376 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-17 21:53:57,377 [Worker-27: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-17 21:53:57,377 [Worker-27: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-17 21:53:57,383 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-17 21:53:57,430 [Worker-26: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:json:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 21:53:57,473 [Worker-26: Loading pom.xml] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap:json:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-17 21:53:58,412 [Worker-14: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap:json:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap:json:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-06-18 14:56:15,765 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-06-18 14:56:31,455 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-06-18 14:56:32,244 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-18 14:56:32,532 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:32,682 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-06-18 14:56:33,058 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-06-18 14:56:33,076 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:33,087 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 14:56:33,088 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 14:56:33,090 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-18 14:56:33,258 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:Utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-06-18 14:56:33,422 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServiceJar\pom.xml.
+2020-06-18 14:56:33,574 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 14:56:33,587 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 14:56:33,588 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:33,589 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 14:56:34,715 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:42,480 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 14:56:42,481 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:42,481 [Worker-5: Updating Maven Dependencies] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 14:56:44,913 [Worker-2: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:44,956 [Worker-2: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-18 14:56:47,149 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:47,151 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-18 14:56:47,153 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:47,155 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-18 14:56:47,947 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:47,950 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-18 14:56:47,957 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:47,959 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-18 14:56:48,111 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:48,113 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-18 14:56:48,116 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:48,118 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-18 14:56:48,119 [Worker-1: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-18 14:56:48,120 [Worker-1: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-18 14:56:48,161 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:48,347 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:48,349 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-18 14:56:48,351 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:48,352 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-18 14:56:49,190 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:49,196 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-18 14:56:49,214 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:49,216 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-18 14:56:49,402 [Worker-1: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 14:56:49,403 [Worker-1: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:49,403 [Worker-1: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 14:56:49,412 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:49,414 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 14:56:49,420 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:49,425 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 14:56:49,571 [Worker-1: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 14:56:49,572 [Worker-1: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 14:56:49,572 [Worker-1: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:Utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 14:56:49,573 [Worker-1: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-18 14:56:49,585 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:49,587 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-18 14:56:49,589 [Worker-1: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 14:56:49,595 [Worker-1: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-18 15:04:40,888 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-18 15:04:40,889 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:21:53,671 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-18 19:21:53,672 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:26:20,542 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:26:20,543 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-18 19:26:20,545 [Worker-32: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:26:20,548 [Worker-32: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-18 19:26:27,112 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-18 19:26:27,113 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:44:05,464 [Worker-37: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-18 19:44:05,507 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:44:05,518 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-18 19:44:05,520 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:44:05,523 [Worker-32: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-18 19:44:05,523 [Worker-32: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-18 19:44:05,524 [Worker-32: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-18 19:44:05,555 [Worker-32: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:44:17,819 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-18 19:44:17,819 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:45:48,028 [Worker-39: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-06-18 19:45:48,196 [Worker-39: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 19:45:48,242 [Worker-39: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:Utils:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-18 19:45:48,251 [Worker-39: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:45:48,252 [Worker-39: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 19:45:48,362 [Worker-39: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-18 19:45:48,371 [Worker-39: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 19:45:48,372 [Worker-39: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:45:49,043 [Worker-39: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:45:49,045 [Worker-39: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-18 19:45:49,047 [Worker-39: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:45:49,048 [Worker-39: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-18 19:45:50,109 [Worker-39: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:Utils:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-18 19:45:50,118 [Worker-39: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:45:50,119 [Worker-39: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 19:45:50,148 [Worker-39: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services:Utils:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:Utils:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-06-18 19:46:10,243 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-06-18 19:46:10,243 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:47:05,283 [Worker-40: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:47:05,285 [Worker-40: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-18 19:47:05,287 [Worker-40: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:47:05,288 [Worker-40: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-18 19:47:55,352 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-06-18 19:47:57,573 [Worker-4: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 19:47:57,582 [Worker-4: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:48:55,217 [Worker-1: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-06-18 19:48:55,218 [Worker-1: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 19:49:06,881 [Worker-11: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-06-18 19:49:07,796 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:49:07,803 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-18 19:49:07,805 [Worker-11: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:49:07,807 [Worker-11: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-18 19:49:29,542 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-06-18 19:49:29,542 [Worker-11: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:49:51,281 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:49:51,284 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-18 19:49:51,286 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:49:51,288 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-18 19:49:51,401 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:49:51,415 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-18 19:49:51,418 [Worker-0: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:49:51,421 [Worker-0: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-18 19:49:59,846 [Worker-2: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-18 19:49:59,847 [Worker-2: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 19:50:11,525 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:50:11,528 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-18 19:50:11,529 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:50:11,531 [Worker-3: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-18 19:50:11,533 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-18 19:50:11,534 [Worker-3: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-18 19:50:11,560 [Worker-3: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:50:25,249 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-18 19:50:25,250 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:53:13,369 [Worker-8: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 19:53:13,369 [Worker-8: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 19:53:20,414 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:53:20,415 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-18 19:53:20,417 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:53:20,419 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-18 19:53:20,565 [Worker-13: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:53:20,565 [Worker-13: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 19:53:20,572 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:53:20,577 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 19:53:20,581 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:53:20,583 [Worker-13: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 19:53:20,584 [Worker-13: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 19:53:20,584 [Worker-13: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 19:53:20,593 [Worker-13: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:53:26,336 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 19:53:26,336 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 19:55:58,208 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 19:55:58,298 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 19:55:58,299 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:55:58,300 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 19:55:58,482 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 19:55:58,483 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:55:58,483 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 19:55:58,814 [Worker-13: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-18 19:55:59,011 [Worker-5: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 19:55:59,012 [Worker-5: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 19:55:59,012 [Worker-5: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 19:55:59,018 [Worker-5: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:55:59,052 [Worker-5: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 19:55:59,057 [Worker-5: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:55:59,085 [Worker-5: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 19:55:59,085 [Worker-5: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 19:55:59,085 [Worker-5: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 19:55:59,099 [Worker-5: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 19:56:23,009 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 19:56:23,009 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 20:06:40,577 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:06:40,579 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 20:06:40,581 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:06:40,583 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 20:06:46,250 [Worker-7: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:06:46,250 [Worker-7: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 20:20:36,314 [Worker-7: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 20:20:36,398 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 20:20:36,400 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 20:20:36,400 [Worker-7: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 20:20:36,644 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:20:36,646 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 20:20:36,647 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:20:36,649 [Worker-7: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 20:20:36,650 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 20:20:36,650 [Worker-7: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 20:20:36,663 [Worker-7: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:22:01,345 [Worker-21: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 20:22:01,346 [Worker-21: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 20:22:01,346 [Worker-21: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 20:22:08,531 [Worker-22: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 20:22:08,641 [Worker-22: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 20:22:08,643 [Worker-22: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 20:22:08,644 [Worker-22: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 20:22:08,930 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:22:08,934 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 20:22:08,936 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:22:08,938 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 20:22:08,939 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 20:22:08,939 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 20:22:08,946 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:22:34,284 [Worker-17: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:22:34,284 [Worker-17: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 20:22:44,247 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:22:44,247 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 20:25:37,181 [Worker-23: Launching Executing clean in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-18 20:25:37,182 [Worker-23: Launching Executing clean in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 20:25:46,297 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:25:46,302 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-18 20:25:46,304 [Worker-21: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:25:46,306 [Worker-21: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-18 20:25:52,594 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-18 20:25:52,594 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 20:26:47,561 [Worker-17: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:26:47,561 [Worker-17: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 20:26:54,159 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:26:54,161 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-18 20:26:54,162 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:26:54,164 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-18 20:26:54,238 [Worker-22: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 20:26:54,239 [Worker-22: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 20:26:54,240 [Worker-22: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 20:26:54,245 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:26:54,249 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 20:26:54,251 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:26:54,254 [Worker-22: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 20:26:54,254 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 20:26:54,254 [Worker-22: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 20:26:54,260 [Worker-22: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 20:26:59,326 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:26:59,326 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 20:28:36,674 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 20:44:47,272 [Worker-26: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:44:47,272 [Worker-26: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 20:46:14,993 [Worker-28: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:46:14,993 [Worker-28: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 20:46:50,947 [Worker-30: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:46:50,948 [Worker-30: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 20:47:30,943 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 20:47:30,943 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 20:53:27,882 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-06-18 20:53:30,265 [Worker-3: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 20:53:30,266 [Worker-3: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 20:53:30,267 [Worker-3: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:27:57,803 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:27:57,804 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:27:57,862 [Worker-17: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-18 22:27:58,157 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:27:58,158 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:27:58,159 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-18 22:27:59,031 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 22:27:59,118 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:27:59,119 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:27:59,119 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:27:59,397 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:27:59,401 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:27:59,402 [Worker-17: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:28:00,527 [Worker-17: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2020-06-18 22:28:01,493 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:01,496 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-18 22:28:01,499 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:01,502 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-18 22:28:01,901 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:01,926 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-18 22:28:01,928 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:01,930 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-18 22:28:02,202 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:28:02,203 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:28:02,217 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,224 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-18 22:28:02,226 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,236 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-18 22:28:02,237 [Worker-23: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-18 22:28:02,238 [Worker-23: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-18 22:28:02,261 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,353 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,378 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-18 22:28:02,380 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,385 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-18 22:28:02,517 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,562 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-18 22:28:02,564 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,570 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-18 22:28:02,760 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:28:02,761 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:28:02,762 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:28:02,780 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,796 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 22:28:02,799 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:02,820 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 22:28:02,821 [Worker-23: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 22:28:02,821 [Worker-23: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 22:28:02,827 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:03,014 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:28:03,014 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:28:03,016 [Worker-23: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-18 22:28:03,025 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:03,027 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-18 22:28:03,030 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:28:03,033 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-18 22:28:12,804 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-06-18 22:28:12,805 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 22:31:34,335 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-06-18 22:31:34,335 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 22:41:49,497 [Worker-17: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmClient\pom.xml.
+2020-06-18 22:41:49,534 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:41:49,663 [Worker-17: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services\Project-Tests\pom.xml.
+2020-06-18 22:41:49,693 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:41:49,694 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:41:49,695 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-18 22:41:49,825 [Worker-17: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\WformServices\pom.xml.
+2020-06-18 22:41:49,833 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:41:49,834 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:41:49,835 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:41:50,132 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:41:50,134 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-18 22:41:50,136 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:41:50,138 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-18 22:41:51,173 [Worker-23: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:41:51,174 [Worker-23: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:41:51,175 [Worker-23: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-18 22:41:51,198 [Worker-23: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services:Utils:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:Utils:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-06-18 22:42:04,172 [Worker-20: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-06-18 22:42:04,172 [Worker-20: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 22:42:10,434 [Worker-23: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:42:10,439 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:42:10,442 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-18 22:42:10,443 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:42:10,446 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-18 22:42:24,301 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-06-18 22:42:24,302 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 22:44:19,170 [Worker-23: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 22:44:19,171 [Worker-23: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 22:44:28,225 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:44:28,228 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-18 22:44:28,230 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:44:28,232 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-18 22:44:28,318 [Worker-23: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:44:28,319 [Worker-23: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:44:28,320 [Worker-23: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-18 22:44:28,328 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:44:28,331 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 22:44:28,333 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:44:28,335 [Worker-23: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 22:44:28,337 [Worker-23: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 22:44:28,337 [Worker-23: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 22:44:28,350 [Worker-23: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:44:34,422 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 22:44:34,422 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 22:45:52,687 [Worker-30: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 22:45:52,687 [Worker-30: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 22:46:04,703 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:46:04,712 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 22:46:04,713 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:46:04,724 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 22:46:04,725 [Worker-23: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 22:46:04,725 [Worker-23: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 22:46:04,730 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:46:04,829 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:46:04,879 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-18 22:46:04,881 [Worker-23: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:46:04,883 [Worker-23: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-18 22:46:14,547 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 22:46:14,548 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 22:49:36,245 [Worker-28: Launching Executing clean in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-18 22:49:36,245 [Worker-28: Launching Executing clean in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 22:49:46,108 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:49:46,110 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-18 22:49:46,112 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:49:46,121 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-18 22:49:54,412 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\JsonTraverse
+2020-06-18 22:49:54,412 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 22:50:45,169 [Worker-30: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-18 22:50:45,170 [Worker-30: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-18 22:50:45,176 [Worker-30: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:50:45,178 [Worker-30: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-18 22:50:45,180 [Worker-30: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:50:45,182 [Worker-30: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-18 22:50:45,274 [Worker-30: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:50:45,276 [Worker-30: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-18 22:50:45,279 [Worker-30: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:50:45,281 [Worker-30: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-18 22:50:45,498 [Worker-30: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:50:45,499 [Worker-30: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 22:50:45,501 [Worker-30: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:50:45,503 [Worker-30: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 22:50:52,570 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-06-18 22:50:52,570 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-18 22:54:11,534 [Worker-32: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 22:54:11,534 [Worker-32: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-18 22:54:17,499 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:54:17,501 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-18 22:54:17,503 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:54:17,504 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-18 22:54:17,526 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:54:17,528 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-18 22:54:17,531 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:54:17,534 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-18 22:54:17,557 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:54:17,558 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-18 22:54:17,560 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:54:17,561 [Worker-28: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-18 22:54:17,562 [Worker-28: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-18 22:54:17,562 [Worker-28: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-18 22:54:17,568 [Worker-28: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-18 22:54:30,745 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-18 22:54:30,745 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 08:46:46,335 [Worker-34: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 08:46:46,336 [Worker-34: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 08:47:45,727 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:47:45,730 [Worker-37: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 08:47:45,731 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:47:45,733 [Worker-37: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 08:47:45,734 [Worker-37: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 08:47:45,734 [Worker-37: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 08:47:45,840 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:47:45,925 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:47:45,926 [Worker-37: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-19 08:47:45,927 [Worker-37: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:47:45,929 [Worker-37: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-19 08:47:55,258 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 08:47:55,258 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 08:53:03,675 [Worker-34: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-19 08:53:03,675 [Worker-34: Launching Executing clean in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 08:53:13,023 [Worker-44: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:53:13,025 [Worker-44: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 08:53:13,026 [Worker-44: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:53:13,029 [Worker-44: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 08:53:13,182 [Worker-44: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:53:13,189 [Worker-44: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-19 08:53:13,192 [Worker-44: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:53:13,207 [Worker-44: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-19 08:53:13,208 [Worker-44: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2020-06-19 08:53:13,208 [Worker-44: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2020-06-19 08:53:13,218 [Worker-44: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:53:27,528 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-19 08:53:27,528 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 08:53:34,650 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:53:34,652 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-19 08:53:34,654 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 08:53:34,656 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-19 08:53:40,087 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-19 08:53:40,087 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 09:05:33,523 [Worker-37: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 09:05:33,523 [Worker-37: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 09:05:41,363 [Worker-43: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:05:41,365 [Worker-43: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 09:05:41,367 [Worker-43: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:05:41,372 [Worker-43: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 09:05:41,372 [Worker-43: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 09:05:41,372 [Worker-43: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 09:05:41,379 [Worker-43: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:05:41,473 [Worker-43: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:05:41,475 [Worker-43: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-19 09:05:41,477 [Worker-43: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:05:41,478 [Worker-43: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-19 09:05:57,086 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 09:05:57,087 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 09:09:29,217 [Worker-43: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-06-19 09:11:23,685 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 09:11:23,686 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 09:13:55,074 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-06-19 09:13:55,074 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 09:14:06,576 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 09:14:06,576 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 09:22:52,895 [Worker-34: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-06-19 09:22:53,653 [Worker-34: Updating Maven Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 09:22:53,772 [Worker-34: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 09:22:53,773 [Worker-34: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 09:22:54,007 [Worker-34: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 09:22:54,008 [Worker-34: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 09:22:54,560 [Worker-34: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src
+2020-06-19 09:22:54,560 [Worker-34: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmServices/src/test/java because it overlaps with /GlemmServices/src
+2020-06-19 09:22:54,906 [Worker-34: Updating Maven Project] ERROR o.e.m2e.wtp.WTPProjectConfigurator - Unable to configure GlemmServices
+org.eclipse.m2e.wtp.MarkedException: Unable to configure GlemmServices
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99) ~[na:na]
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68) ~[na:na]
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:439) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:352) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:349) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) [org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324) ~[na:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339) ~[na:na]
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136) ~[na:na]
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95) ~[na:na]
+	... 18 common frames omitted
+2020-06-19 09:22:55,148 [Worker-34: Updating Maven Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 09:22:55,157 [Worker-34: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 2 sec
+2020-06-19 09:25:38,936 [Worker-46: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 09:25:38,937 [Worker-46: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 09:25:54,287 [Worker-52: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update started
+2020-06-19 09:25:54,398 [Worker-52: Updating Maven Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 09:25:54,454 [Worker-52: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 09:25:54,455 [Worker-52: Updating Maven Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 09:25:54,663 [Worker-52: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src
+2020-06-19 09:25:54,663 [Worker-52: Updating Maven Project] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmServices/src/test/java because it overlaps with /GlemmServices/src
+2020-06-19 09:25:54,795 [Worker-52: Updating Maven Project] ERROR o.e.m2e.wtp.WTPProjectConfigurator - Unable to configure GlemmServices
+org.eclipse.m2e.wtp.MarkedException: Unable to configure GlemmServices
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99) ~[na:na]
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68) ~[na:na]
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.java:439) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:352) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1351) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:349) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:77) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) [org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324) ~[na:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339) ~[na:na]
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136) ~[na:na]
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95) ~[na:na]
+	... 18 common frames omitted
+2020-06-19 09:25:54,927 [Worker-52: Updating Maven Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 09:25:54,932 [Worker-52: Updating Maven Project] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Update completed: 0 sec
+2020-06-19 09:26:11,525 [Worker-52: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 09:26:11,526 [Worker-52: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 09:26:18,260 [Worker-34: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:26:18,262 [Worker-34: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-19 09:26:18,264 [Worker-34: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:26:18,266 [Worker-34: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-19 09:26:18,525 [Worker-34: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 09:26:18,526 [Worker-34: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 09:26:18,534 [Worker-34: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:26:18,543 [Worker-34: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 09:26:18,544 [Worker-34: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:26:18,546 [Worker-34: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 09:26:18,547 [Worker-34: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 09:26:18,547 [Worker-34: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 09:26:18,563 [Worker-34: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 09:26:27,404 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 09:26:27,404 [Worker-55: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 11:53:17,435 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 12:00:16,047 [Worker-89: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 12:00:16,047 [Worker-89: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 12:00:21,855 [Worker-89: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:00:21,857 [Worker-89: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 12:00:21,858 [Worker-89: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:00:21,859 [Worker-89: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 12:00:21,860 [Worker-89: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 12:00:21,860 [Worker-89: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 12:00:21,869 [Worker-89: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:00:31,981 [Worker-89: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 12:00:31,982 [Worker-89: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 12:04:49,247 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-06-19 12:04:51,019 [Worker-0: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 12:04:51,029 [Worker-0: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 12:04:51,029 [Worker-0: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-19 12:08:45,428 [Worker-10: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 12:08:45,429 [Worker-10: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 12:09:06,132 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 12:09:06,133 [Worker-13: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 12:09:07,644 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:07,647 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 12:09:07,651 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:07,653 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 12:09:07,656 [Worker-3: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 12:09:07,657 [Worker-3: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 12:09:07,691 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:08,961 [Worker-3: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 12:09:08,989 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:08,991 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-19 12:09:08,993 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:08,995 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-19 12:09:09,512 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:09,514 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-19 12:09:09,517 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:09,519 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-19 12:09:09,684 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:09,686 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-19 12:09:09,689 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:09,691 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-19 12:09:09,897 [Worker-3: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 12:09:09,898 [Worker-3: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-19 12:09:09,900 [Worker-3: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2020-06-19 12:09:09,908 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:09,911 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\main\resources
+2020-06-19 12:09:09,914 [Worker-3: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 12:09:09,916 [Worker-3: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Project-Tests\src\test\resources
+2020-06-19 12:09:30,342 [Worker-10: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 12:09:30,342 [Worker-10: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 18:17:56,328 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:17:56,330 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 18:20:08,564 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:20:08,580 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:20:08,591 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:20:08,615 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:20:08,650 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:20:08,653 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-19 18:20:08,655 [Worker-41: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:20:08,657 [Worker-41: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-19 18:22:37,898 [Worker-44: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 18:22:37,991 [Worker-44: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:22:38,511 [Worker-44: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:22:39,127 [Worker-44: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 18:22:39,540 [Worker-39: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:22:39,566 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:22:39,581 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:22:39,583 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:22:39,589 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:22:39,589 [Worker-39: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 18:22:39,589 [Worker-39: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 18:22:39,597 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:22:39,852 [Worker-39: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:22:39,861 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:22:39,863 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-19 18:22:39,864 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:22:39,866 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-19 18:22:39,978 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:22:39,980 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-19 18:22:39,982 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:22:39,984 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-19 18:22:57,249 [Worker-43: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:22:57,250 [Worker-43: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 18:23:07,980 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:23:07,981 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:23:07,983 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:23:07,988 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:23:07,989 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 18:23:07,989 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 18:23:07,993 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:23:14,626 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:23:14,626 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 18:25:35,315 [Worker-44: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:25:35,317 [Worker-44: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:25:35,320 [Worker-44: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:25:35,321 [Worker-44: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:26:39,465 [Worker-43: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:26:39,465 [Worker-43: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 18:26:50,056 [Worker-44: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 18:26:50,109 [Worker-44: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.utils:utils:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-19 18:26:50,115 [Worker-44: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:26:50,232 [Worker-44: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.utils:utils:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-19 18:26:50,235 [Worker-44: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:26:50,563 [Worker-44: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:26:50,565 [Worker-44: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:26:50,566 [Worker-44: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:26:50,567 [Worker-44: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:26:50,568 [Worker-44: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 18:26:50,568 [Worker-44: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 18:26:50,571 [Worker-44: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:26:51,602 [Worker-39: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services.utils:utils:jar:0.1-SNAPSHOT is missing, no dependency information available
+2020-06-19 18:26:51,608 [Worker-39: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:26:51,789 [Worker-39: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services.utils:utils:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services.utils:utils:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-06-19 18:29:26,114 [Worker-39: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-06-19 18:29:26,114 [Worker-39: Launching Executing clean in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 18:29:34,117 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:29:34,121 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-19 18:29:34,122 [Worker-47: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:29:34,124 [Worker-47: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-19 18:29:42,542 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\Utils
+2020-06-19 18:29:42,543 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 18:30:30,241 [Worker-47: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:30:30,241 [Worker-47: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 18:30:36,218 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:30:36,221 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-19 18:30:36,222 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:30:36,224 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-19 18:30:36,842 [Worker-48: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 18:30:36,891 [Worker-48: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:30:36,891 [Worker-48: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 18:30:36,988 [Worker-48: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:30:36,989 [Worker-48: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 18:30:37,313 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:30:37,315 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:30:37,317 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:30:37,318 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:30:37,319 [Worker-48: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 18:30:37,319 [Worker-48: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 18:30:37,324 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:31:03,775 [Worker-48: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:31:03,775 [Worker-48: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 18:31:03,781 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:31:03,783 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:31:03,784 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:31:03,785 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:31:13,026 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:31:13,026 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 18:38:24,192 [Worker-43: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 18:38:24,238 [Worker-43: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:38:24,238 [Worker-43: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 18:38:24,425 [Worker-43: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:38:24,425 [Worker-43: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 18:38:24,615 [Worker-43: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 18:38:24,921 [Worker-39: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 18:38:24,922 [Worker-39: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 18:38:24,930 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:38:24,933 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:38:24,935 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:38:24,936 [Worker-39: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:38:24,937 [Worker-39: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 18:38:24,937 [Worker-39: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 18:38:24,942 [Worker-39: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:38:35,102 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:38:35,102 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 18:39:04,076 [Worker-51: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:39:04,076 [Worker-51: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 18:39:11,974 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:39:11,976 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 18:39:11,977 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:39:11,979 [Worker-43: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 18:39:11,980 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 18:39:11,980 [Worker-43: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 18:39:11,983 [Worker-43: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 18:39:18,524 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 18:39:18,525 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:03:55,861 [Worker-52: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-06-19 19:03:56,159 [Worker-52: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:03:56,161 [Worker-52: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-19 19:03:56,162 [Worker-52: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:03:56,164 [Worker-52: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-19 19:07:00,491 [Worker-54: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:07:00,491 [Worker-54: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 19:07:07,298 [Worker-48: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 19:07:07,624 [Worker-48: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 19:07:08,519 [Worker-55: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\JsonTraverse\pom.xml.
+2020-06-19 19:07:09,116 [Worker-55: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:07:09,118 [Worker-55: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-19 19:07:09,120 [Worker-55: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:07:09,122 [Worker-55: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-19 19:07:09,296 [Worker-55: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\Utils\pom.xml.
+2020-06-19 19:07:09,362 [Worker-55: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:07:09,364 [Worker-55: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-19 19:07:09,365 [Worker-55: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:07:09,367 [Worker-55: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-19 19:07:09,582 [Worker-55: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:07:09,585 [Worker-55: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:07:09,589 [Worker-55: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:07:09,591 [Worker-55: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:07:09,591 [Worker-55: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:07:09,591 [Worker-55: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:07:09,599 [Worker-55: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:11:29,249 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:11:29,250 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:17:59,032 [Worker-59: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:17:59,048 [Worker-59: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:17:59,049 [Worker-59: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:17:59,051 [Worker-59: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:18:07,949 [Worker-52: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 19:18:08,169 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:18:08,170 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:18:08,192 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:18:08,194 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:18:08,195 [Worker-56: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:18:08,195 [Worker-56: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:18:08,208 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:18:21,315 [Worker-58: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:18:21,315 [Worker-58: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 19:18:29,299 [Worker-56: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:18:29,299 [Worker-56: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:20:23,003 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:20:23,005 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:20:23,006 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:20:23,008 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:20:23,008 [Worker-56: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:20:23,008 [Worker-56: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:20:23,012 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:20:31,757 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:20:31,757 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:21:22,869 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:21:22,869 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:31:04,816 [Worker-56: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:31:04,817 [Worker-56: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 19:31:17,149 [Worker-56: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 19:31:17,855 [Worker-56: Build Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/utils/0.1-SNAOSHOT/utils-0.1-SNAOSHOT.pom
+2020-06-19 19:31:17,878 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:utils:jar:0.1-SNAOSHOT is missing, no dependency information available
+2020-06-19 19:31:18,046 [Worker-56: Build Project] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/utils/0.1-SNAOSHOT/utils-0.1-SNAOSHOT.jar
+2020-06-19 19:31:18,102 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:utils:jar:0.1-SNAOSHOT is missing, no dependency information available
+2020-06-19 19:31:18,449 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:31:18,450 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:31:18,451 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:31:18,453 [Worker-56: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:31:18,453 [Worker-56: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:31:18,453 [Worker-56: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:31:18,456 [Worker-56: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:31:19,440 [Worker-56: Download sources and javadoc] WARN  o.e.m.c.i.embedder.EclipseLogger - The POM for de.korap.services:utils:jar:0.1-SNAOSHOT is missing, no dependency information available
+2020-06-19 19:31:19,778 [Worker-56: Download sources and javadoc] INFO  o.e.m.c.i.e.AbstractTransferListenerAdapter - Downloaded https://repo.maven.apache.org/maven2/de/korap/services/utils/0.1-SNAOSHOT/utils-0.1-SNAOSHOT-sources.jar
+2020-06-19 19:31:19,800 [Worker-56: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services:utils:0.1-SNAOSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:utils:jar:sources:0.1-SNAOSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2020-06-19 19:34:03,160 [Worker-58: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 19:34:03,200 [Worker-58: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:34:03,255 [Worker-58: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:34:03,344 [Worker-58: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 19:34:03,740 [Worker-56: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:34:03,746 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:34:03,755 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:34:03,757 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:34:03,762 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:34:03,762 [Worker-56: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:34:03,762 [Worker-56: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:34:03,767 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:34:03,839 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:34:03,841 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\main\resources
+2020-06-19 19:34:03,843 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:34:03,845 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServiceJar\src\test\resources
+2020-06-19 19:34:03,857 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:34:03,859 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-19 19:34:03,860 [Worker-56: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:34:03,862 [Worker-56: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-19 19:34:53,998 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:34:53,998 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:37:09,721 [Worker-62: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 19:37:09,813 [Worker-62: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:37:09,814 [Worker-62: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:37:09,886 [Worker-62: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:37:09,886 [Worker-62: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:37:09,976 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:37:09,978 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:37:09,979 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:37:09,981 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:37:09,981 [Worker-62: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:37:09,981 [Worker-62: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:37:09,984 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:37:30,220 [Worker-67: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:37:30,220 [Worker-67: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 19:37:37,810 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:37:37,810 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:39:21,087 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:39:21,088 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:39:21,093 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:39:21,098 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:39:21,099 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:39:21,101 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:39:21,102 [Worker-68: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:39:21,102 [Worker-68: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:39:21,107 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:39:39,639 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:39:39,639 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:41:14,890 [Worker-62: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:41:14,890 [Worker-62: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 19:41:22,303 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:41:22,303 [Worker-62: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:42:51,739 [Worker-68: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 19:42:51,787 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:42:51,788 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:42:51,869 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:42:51,869 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:42:52,257 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:42:52,258 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:42:52,260 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:42:52,261 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:42:52,262 [Worker-68: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:42:52,262 [Worker-68: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:42:52,266 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:42:58,019 [Worker-62: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:42:58,019 [Worker-62: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 19:43:05,858 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:43:05,858 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:43:36,295 [Worker-67: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:43:36,296 [Worker-67: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:46:38,960 [Worker-68: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 19:46:39,005 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:46:39,006 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:46:39,072 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:46:39,072 [Worker-68: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:46:39,306 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:46:39,308 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:46:39,309 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:46:39,310 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:46:39,311 [Worker-68: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:46:39,311 [Worker-68: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:46:39,314 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:46:47,765 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 19:46:47,765 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 19:55:42,157 [Worker-67: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:55:42,158 [Worker-67: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:55:46,126 [Worker-65: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 19:55:46,166 [Worker-65: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:55:46,167 [Worker-65: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 19:55:46,345 [Worker-65: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:55:46,347 [Worker-65: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 19:55:46,348 [Worker-65: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:55:46,350 [Worker-65: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 19:55:46,350 [Worker-65: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 19:55:46,350 [Worker-65: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 19:55:46,354 [Worker-65: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 19:55:53,179 [Worker-72: Loading Effective POM...] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 19:55:53,180 [Worker-72: Loading Effective POM...] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:05:46,216 [Worker-73: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:05:46,220 [Worker-73: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:05:46,223 [Worker-73: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:05:46,225 [Worker-73: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:05:56,271 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:05:56,271 [Worker-72: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:06:06,584 [Worker-72: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:06:06,584 [Worker-72: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 20:06:13,804 [Worker-74: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:06:13,809 [Worker-74: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:06:13,810 [Worker-74: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:06:13,814 [Worker-74: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:06:13,814 [Worker-74: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:06:13,814 [Worker-74: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:06:13,821 [Worker-74: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:06:13,995 [Worker-74: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:06:13,998 [Worker-74: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:06:14,000 [Worker-74: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-19 20:06:14,001 [Worker-74: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:06:14,003 [Worker-74: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-19 20:06:19,543 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:06:19,543 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:07:45,112 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:07:45,114 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:07:45,114 [Worker-72: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:07:45,116 [Worker-72: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:07:50,674 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:07:50,675 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:08:24,487 [Worker-72: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 20:08:24,674 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:24,676 [Worker-75: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:08:24,678 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:24,679 [Worker-75: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:08:24,680 [Worker-75: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:08:24,680 [Worker-75: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:08:24,684 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:24,795 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:24,797 [Worker-75: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-19 20:08:24,798 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:24,800 [Worker-75: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-19 20:08:34,507 [Worker-73: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:08:34,508 [Worker-73: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 20:08:40,998 [Worker-74: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:41,003 [Worker-74: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:08:41,004 [Worker-74: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:41,005 [Worker-74: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:08:41,006 [Worker-74: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:08:41,006 [Worker-74: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:08:41,009 [Worker-74: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:08:46,228 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:08:46,229 [Worker-73: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:12:47,224 [Worker-76: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 20:12:47,271 [Worker-76: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:12:47,272 [Worker-76: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:12:47,356 [Worker-76: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:12:47,356 [Worker-76: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:12:47,683 [Worker-76: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:12:47,684 [Worker-76: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:12:47,685 [Worker-76: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:12:47,687 [Worker-76: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:12:47,688 [Worker-76: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:12:47,688 [Worker-76: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:12:47,692 [Worker-76: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:13:07,922 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:13:07,922 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:14:05,718 [Worker-77: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:14:05,719 [Worker-77: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:14:11,888 [Worker-75: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 20:14:11,934 [Worker-75: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:14:11,935 [Worker-75: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:14:12,103 [Worker-75: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:14:12,104 [Worker-75: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:14:12,105 [Worker-75: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:14:12,107 [Worker-75: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:14:12,107 [Worker-75: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:14:12,108 [Worker-75: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:14:12,111 [Worker-75: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:16:45,099 [Worker-76: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:16:45,099 [Worker-76: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:17:29,995 [Worker-73: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:17:29,996 [Worker-73: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:17:33,522 [Worker-76: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 20:17:33,556 [Worker-76: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:17:33,557 [Worker-76: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:17:33,666 [Worker-76: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:17:33,668 [Worker-76: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:17:33,669 [Worker-76: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:17:33,671 [Worker-76: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:17:33,671 [Worker-76: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:17:33,671 [Worker-76: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:17:33,675 [Worker-76: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:17:39,645 [Worker-74: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:17:39,645 [Worker-74: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:23:49,347 [Worker-74: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:23:49,347 [Worker-74: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-19 20:24:01,042 [Worker-77: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:24:01,043 [Worker-77: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:24:01,268 [Worker-73: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:24:01,285 [Worker-73: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:24:01,286 [Worker-73: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:24:01,288 [Worker-73: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:24:01,288 [Worker-73: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:24:01,288 [Worker-73: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:24:01,293 [Worker-73: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:24:11,977 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:24:11,978 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-19 20:26:12,515 [Worker-77: Cleaning selected projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services\GlemmServices\pom.xml.
+2020-06-19 20:26:12,555 [Worker-77: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:26:12,555 [Worker-77: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:26:12,745 [Worker-77: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:26:12,746 [Worker-77: Cleaning selected projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:26:13,054 [Worker-77: Cleaning selected projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2020-06-19 20:26:13,422 [Worker-75: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-19 20:26:13,423 [Worker-75: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-19 20:26:13,429 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:26:13,435 [Worker-75: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-19 20:26:13,436 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:26:13,442 [Worker-75: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-19 20:26:13,443 [Worker-75: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-19 20:26:13,443 [Worker-75: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-19 20:26:13,448 [Worker-75: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-19 20:26:18,666 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-19 20:26:18,666 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-23 18:45:30,629 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-06-23 19:04:06,472 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmClient
+2020-06-23 19:04:06,488 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-23 19:04:29,858 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:04:29,861 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-23 19:04:29,864 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:04:29,866 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-23 19:04:30,744 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:04:30,747 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-23 19:04:30,750 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:04:30,752 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-23 19:04:31,572 [Worker-16: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-23 19:04:31,573 [Worker-16: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-23 19:04:31,725 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:04:31,727 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-23 19:04:31,729 [Worker-16: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:04:31,731 [Worker-16: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-23 19:04:54,904 [Worker-15: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-23 19:04:54,904 [Worker-15: Launching Executing clean in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B clean
+2020-06-23 19:05:00,731 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:05:00,734 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-23 19:05:00,737 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:05:00,739 [Worker-12: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-23 19:05:00,740 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2020-06-23 19:05:00,741 [Worker-12: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2020-06-23 19:05:00,783 [Worker-12: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:05:05,741 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-23 19:05:05,741 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-23 19:08:22,702 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-23 19:08:22,702 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-23 19:22:33,568 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:22:33,577 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-23 19:22:33,579 [Worker-9: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-23 19:22:33,580 [Worker-9: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-23 19:22:38,627 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\GlemmServices
+2020-06-23 19:22:38,627 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-24 17:03:15,704 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2020-06-29 16:51:15,438 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-06-29 17:22:08,571 [Worker-14: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2020-06-29 17:25:06,578 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:25:06,579 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 17:25:36,982 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:36,985 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\main\resources
+2020-06-29 17:25:36,988 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:36,990 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\JsonTraverse\src\test\resources
+2020-06-29 17:25:38,370 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:38,380 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\main\resources
+2020-06-29 17:25:38,384 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:38,386 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\Utils\src\test\resources
+2020-06-29 17:25:39,289 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-29 17:25:39,290 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-29 17:25:39,350 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:39,366 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\main\resources
+2020-06-29 17:25:39,368 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:39,372 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmServices\src\test\resources
+2020-06-29 17:25:43,782 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-29 17:25:43,787 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:43,789 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\main\resources
+2020-06-29 17:25:43,791 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:43,794 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\GlemmClient\src\test\resources
+2020-06-29 17:25:44,086 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/Utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /Utils/target/classes
+2020-06-29 17:25:44,087 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2020-06-29 17:25:44,087 [Worker-17: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2020-06-29 17:25:44,095 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:44,097 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 17:25:44,103 [Worker-17: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:25:44,117 [Worker-17: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 17:25:50,887 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:25:50,887 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 17:36:14,379 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:36:14,379 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 17:36:34,375 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:36:34,379 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 17:36:34,382 [Worker-26: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:36:34,384 [Worker-26: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 17:36:43,305 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:36:43,305 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 17:47:40,413 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:47:40,413 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 17:47:52,499 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:47:52,501 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 17:47:52,502 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:47:52,504 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 17:47:57,770 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:47:57,770 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 17:53:06,749 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:53:06,750 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 17:53:16,148 [Worker-30: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:53:16,150 [Worker-30: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 17:53:16,154 [Worker-30: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 17:53:16,156 [Worker-30: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 17:53:23,464 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 17:53:23,464 [Worker-31: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:00:45,335 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:00:45,337 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:00:45,339 [Worker-57: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:00:45,340 [Worker-57: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:00:53,922 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:00:53,922 [Worker-58: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:08:24,687 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:08:24,692 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:08:24,706 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:08:24,713 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:08:30,285 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:08:30,285 [Worker-59: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:18:21,680 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:18:21,680 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:18:30,116 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:18:30,117 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:18:30,118 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:18:30,120 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:18:35,360 [Worker-63: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:18:35,360 [Worker-63: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:22:20,067 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:22:20,068 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:22:20,070 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:22:20,071 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:22:27,079 [Worker-63: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:22:27,080 [Worker-63: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:24:00,234 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:24:00,236 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:24:00,240 [Worker-68: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:24:00,242 [Worker-68: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:24:05,264 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:24:05,264 [Worker-67: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:30:09,888 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:30:09,892 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:30:09,894 [Worker-62: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:30:09,895 [Worker-62: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:30:14,760 [Worker-69: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:30:14,760 [Worker-69: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:32:14,346 [Worker-69: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:32:14,348 [Worker-69: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:32:14,349 [Worker-69: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:32:14,351 [Worker-69: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:32:18,553 [Worker-69: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:32:18,553 [Worker-69: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-06-29 23:34:04,363 [Worker-65: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:34:04,365 [Worker-65: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:34:04,369 [Worker-65: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:34:04,371 [Worker-65: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:44:19,402 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:44:19,404 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:44:19,406 [Worker-48: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:44:19,407 [Worker-48: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:47:34,608 [Worker-70: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:47:34,614 [Worker-70: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\main\resources
+2020-06-29 23:47:34,617 [Worker-70: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2020-06-29 23:47:34,619 [Worker-70: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services\WformServices\src\test\resources
+2020-06-29 23:47:38,424 [Worker-70: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2020-06-29 23:47:38,424 [Worker-70: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2020-07-01 12:29:14,770 [Worker-7: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-10-12 12:15:35,065 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2020-10-15 09:52:54,365 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-09-24 18:26:59,916 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-09-24 18:28:59,930 [Worker-10: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services\WformServices
+2021-09-24 18:28:59,933 [Worker-10: Launching Executing install in C__myIDS_Daten_KorAP_Services_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-28 09:07:57,361 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-09-28 09:21:15,107 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-09-28 09:23:42,396 [Worker-1: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\pom.xml.
+2021-09-28 09:23:45,339 [Worker-2: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.json:JsonTraverse:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.json:JsonTraverse:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2021-09-28 09:23:48,374 [Worker-1: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmClient/src
+2021-09-28 09:23:48,378 [Worker-1: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmClient/src/test/java because it overlaps with /GlemmClient/src
+2021-09-28 09:23:48,724 [Worker-1: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 20 sec
+2021-09-28 09:23:49,491 [Worker-4: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download javadoc for de.korap.json:JsonTraverse:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.json:JsonTraverse:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2021-09-28 09:26:51,064 [Worker-1: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\pom.xml.
+2021-09-28 09:27:02,058 [Worker-1: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /GlemmServices/src
+2021-09-28 09:27:02,059 [Worker-1: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /GlemmServices/src/test/java because it overlaps with /GlemmServices/src
+2021-09-28 09:27:03,194 [Worker-1: Importing Maven projects] ERROR o.e.m2e.wtp.WTPProjectConfigurator - Unable to configure GlemmServices
+org.eclipse.m2e.wtp.MarkedException: Unable to configure GlemmServices
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99) ~[na:na]
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68) ~[na:na]
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:288) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:175) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:143) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:68) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:73) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:77) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) [org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324) ~[na:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339) ~[na:na]
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136) ~[na:na]
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95) ~[na:na]
+	... 20 common frames omitted
+2021-09-28 09:27:03,287 [Worker-1: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 13 sec
+2021-09-28 09:45:45,471 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.json:JsonTraverse:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\pom.xml.
+2021-09-28 09:45:45,724 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\pom.xml.
+2021-09-28 09:45:45,755 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:45:45,913 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\pom.xml.
+2021-09-28 09:45:45,993 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:45:47,043 [Worker-13: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /JsonTraverse/src
+2021-09-28 09:45:47,045 [Worker-13: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /JsonTraverse/src/test/java because it overlaps with /JsonTraverse/src
+2021-09-28 09:45:47,269 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 2 sec
+2021-09-28 09:46:15,125 [Worker-16: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\pom.xml.
+2021-09-28 09:46:15,382 [Worker-16: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:46:15,383 [Worker-16: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-28 09:46:15,530 [Worker-16: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /tests/src
+2021-09-28 09:46:15,532 [Worker-16: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /tests/src/test/java because it overlaps with /tests/src
+2021-09-28 09:46:15,681 [Worker-16: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 0 sec
+2021-09-28 09:46:16,625 [Worker-15: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:46:16,626 [Worker-15: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-28 09:46:16,649 [Worker-15: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services:wformServiceJar:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:wformServiceJar:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2021-09-28 09:46:16,676 [Worker-15: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download javadoc for de.korap.services:wformServiceJar:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services:wformServiceJar:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2021-09-28 09:46:44,450 [Worker-15: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:utils:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\Utils\pom.xml.
+2021-09-28 09:46:44,652 [Worker-15: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\pom.xml.
+2021-09-28 09:46:44,749 [Worker-15: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-09-28 09:46:44,751 [Worker-15: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:46:45,205 [Worker-15: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /utils/src
+2021-09-28 09:46:45,206 [Worker-15: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /utils/src/test/java because it overlaps with /utils/src
+2021-09-28 09:46:45,377 [Worker-15: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 1 sec
+2021-09-28 09:47:05,256 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServiceJar:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\pom.xml.
+2021-09-28 09:47:05,438 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\pom.xml.
+2021-09-28 09:47:05,508 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:47:05,510 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-28 09:47:05,513 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-09-28 09:47:06,073 [Worker-13: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServiceJar/src
+2021-09-28 09:47:06,074 [Worker-13: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServiceJar/src/test/java because it overlaps with /wformServiceJar/src
+2021-09-28 09:47:06,197 [Worker-13: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 1 sec
+2021-09-28 09:47:24,508 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\WformServices\pom.xml.
+2021-09-28 09:47:24,611 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-09-28 09:47:24,612 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:47:24,613 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-28 09:47:24,703 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:47:24,817 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-09-28 09:47:24,819 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-28 09:47:24,819 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-28 09:47:25,111 [Worker-10: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Adding source folder /wformServices/src
+2021-09-28 09:47:25,112 [Worker-10: Importing Maven projects] INFO  o.e.m.j.i.AbstractJavaProjectConfigurator - Not adding source folder /wformServices/src/test/java because it overlaps with /wformServices/src
+2021-09-28 09:47:25,369 [Worker-10: Importing Maven projects] ERROR o.e.m2e.wtp.WTPProjectConfigurator - Unable to configure wformServices
+org.eclipse.m2e.wtp.MarkedException: Unable to configure wformServices
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:99) ~[na:na]
+	at org.eclipse.m2e.wtp.WTPProjectConfigurator.configure(WTPProjectConfigurator.java:68) ~[na:na]
+	at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:508) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:501) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProjects(ProjectConfigurationManager.java:288) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:175) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:143) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:68) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:73) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:77) [org.eclipse.m2e.core.ui_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) [org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.core.runtime.CoreException: One or more constraints have not been satisfied.
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modifyInternal(FacetedProject.java:363) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.mergeChangesInternal(FacetedProject.java:1181) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.access$2(FacetedProject.java:1117) ~[na:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject$1.run(FacetedProject.java:324) ~[na:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2289) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2316) ~[org.eclipse.core.resources_3.13.0.v20180512-1138.jar:na]
+	at org.eclipse.wst.common.project.facet.core.internal.FacetedProject.modify(FacetedProject.java:339) ~[na:na]
+	at org.eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configure(WebProjectConfiguratorDelegate.java:136) ~[na:na]
+	at org.eclipse.m2e.wtp.AbstractProjectConfiguratorDelegate.configureProject(AbstractProjectConfiguratorDelegate.java:95) ~[na:na]
+	... 20 common frames omitted
+2021-09-28 09:47:25,409 [Worker-10: Importing Maven projects] INFO  o.e.m.c.i.p.ProjectConfigurationManager - Imported and configured 1 project(s) in 1 sec
+2021-09-28 09:48:26,618 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-28 09:48:26,621 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-28 09:48:55,059 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-09-28 09:48:55,060 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-28 11:07:10,829 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-09-29 16:21:53,507 [Worker-8: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-09-30 13:02:53,004 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-09-30 13:13:18,965 [Worker-7: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-09-30 14:36:15,665 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 14:36:15,668 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 14:40:10,962 [Worker-24: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 14:40:10,963 [Worker-24: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:17:03,627 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:17:03,629 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:18:12,410 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:18:12,411 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:25:39,701 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:25:39,702 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:30:09,360 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-09-30 17:30:09,360 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:30:34,486 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:30:34,487 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:37:04,034 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-09-30 17:37:04,034 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:37:21,751 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-09-30 17:37:21,751 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:38:26,969 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-09-30 17:38:26,969 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:38:42,654 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-09-30 17:38:42,654 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:38:59,262 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar
+2021-09-30 17:38:59,263 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:39:52,471 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:39:52,471 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:42:37,254 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-09-30 17:42:37,254 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:43:58,215 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:43:58,215 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:53:13,782 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-09-30 17:53:13,782 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:53:45,671 [Worker-49: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:53:45,671 [Worker-49: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:56:28,362 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:30,296 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-09-30 17:56:30,299 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:30,562 [Worker-48: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2021-09-30 17:56:31,051 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:31,051 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-30 17:56:31,055 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-09-30 17:56:31,450 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-09-30 17:56:31,452 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:31,452 [Worker-48: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-30 17:56:31,461 [Worker-48: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2021-09-30 17:56:34,975 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:34,977 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\main\resources
+2021-09-30 17:56:34,982 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:34,985 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\test\resources
+2021-09-30 17:56:37,181 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:37,184 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\main\resources
+2021-09-30 17:56:37,189 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:37,191 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\test\resources
+2021-09-30 17:56:37,700 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-09-30 17:56:37,702 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:37,720 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:37,722 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\main\resources
+2021-09-30 17:56:37,726 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:37,729 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\test\resources
+2021-09-30 17:56:37,732 [Worker-52: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2021-09-30 17:56:37,736 [Worker-52: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2021-09-30 17:56:38,271 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,117 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:43,132 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,135 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\main\resources
+2021-09-30 17:56:43,138 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,141 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\test\resources
+2021-09-30 17:56:43,319 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,325 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\main\resources
+2021-09-30 17:56:43,328 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,333 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\test\resources
+2021-09-30 17:56:43,576 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-09-30 17:56:43,577 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:43,578 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-30 17:56:43,590 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,594 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\main\resources
+2021-09-30 17:56:43,606 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,608 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\test\resources
+2021-09-30 17:56:43,609 [Worker-52: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2021-09-30 17:56:43,610 [Worker-52: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2021-09-30 17:56:43,621 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,949 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-09-30 17:56:43,949 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-09-30 17:56:43,952 [Worker-52: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-09-30 17:56:43,973 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,975 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\main\resources
+2021-09-30 17:56:43,984 [Worker-52: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-09-30 17:56:43,986 [Worker-52: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\test\resources
+2021-09-30 17:57:04,366 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-09-30 17:57:04,367 [Worker-52: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-09-30 17:57:20,026 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-09-30 17:57:20,026 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 09:49:40,834 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-05 10:03:16,769 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-05 11:03:55,010 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 11:03:55,013 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 11:37:17,900 [Worker-20: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-05 11:48:44,145 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 11:48:44,145 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 11:53:26,049 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 11:53:26,049 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 11:57:01,549 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 11:57:01,550 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 11:59:07,539 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 11:59:07,539 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 12:27:58,393 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 12:27:58,393 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 12:48:22,812 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 12:48:22,813 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 13:16:02,806 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 13:16:02,806 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 13:18:24,742 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 13:18:24,742 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 13:27:31,372 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-05 13:27:31,373 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 13:27:52,430 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:27:52,433 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\main\resources
+2021-10-05 13:27:52,438 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:27:52,439 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\test\resources
+2021-10-05 13:27:54,147 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:27:54,150 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\main\resources
+2021-10-05 13:27:54,157 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:27:54,159 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\test\resources
+2021-10-05 13:27:54,797 [Worker-37: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-05 13:27:54,799 [Worker-37: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-05 13:27:55,151 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:27:55,154 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\main\resources
+2021-10-05 13:27:55,157 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:27:55,159 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\test\resources
+2021-10-05 13:28:00,157 [Worker-37: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-05 13:28:00,174 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:28:00,176 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\main\resources
+2021-10-05 13:28:00,192 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:28:00,195 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\test\resources
+2021-10-05 13:28:00,546 [Worker-37: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-05 13:28:00,548 [Worker-37: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-05 13:28:00,549 [Worker-37: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-10-05 13:28:00,582 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:28:00,584 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\main\resources
+2021-10-05 13:28:00,588 [Worker-37: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-05 13:28:00,592 [Worker-37: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\test\resources
+2021-10-05 13:28:56,455 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-05 13:28:56,455 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-05 22:38:16,108 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-06 12:48:20,739 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-06 19:44:23,907 [Worker-46: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-06 19:45:43,779 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-06 19:45:43,797 [Worker-38: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-06 20:16:23,354 [Worker-47: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-06 20:16:23,356 [Worker-47: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-06 20:34:05,066 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-06 20:34:05,066 [Worker-54: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-06 20:53:58,589 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-06 20:53:58,589 [Worker-61: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-06 21:37:57,450 [Worker-66: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-06 21:37:57,451 [Worker-66: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-07 10:19:32,508 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-07 10:22:45,821 [main] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-07 10:22:45,830 [main] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-07 10:22:45,831 [main] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-10-07 10:22:52,481 [main] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\WformServices\pom.xml.
+2021-10-07 18:00:50,172 [Worker-81: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-08 12:00:28,175 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-08 12:02:13,930 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-08 12:02:13,944 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-08 17:23:21,017 [Worker-45: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-11 09:40:02,312 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-11 09:41:06,865 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-11 09:41:06,867 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-11 11:32:35,487 [Worker-12: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-11 11:32:35,502 [Worker-12: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-11 17:06:08,550 [Worker-25: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-11 17:10:58,248 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-11 17:10:58,248 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-11 17:57:31,372 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-11 17:57:31,372 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-12 19:56:18,822 [Worker-430: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-12 19:56:18,826 [Worker-430: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-12 20:12:50,845 [Worker-450: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-12 20:12:50,846 [Worker-450: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-13 12:27:43,759 [Worker-699: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-13 12:27:43,773 [Worker-699: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-13 12:35:50,922 [Worker-707: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-13 12:35:50,922 [Worker-707: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-13 12:37:14,364 [Worker-702: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-13 12:37:14,364 [Worker-702: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-13 12:41:04,454 [Worker-702: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-13 12:41:04,454 [Worker-702: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-13 12:42:28,391 [Worker-704: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-13 12:42:28,391 [Worker-704: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-13 19:57:47,716 [Worker-820: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-13 19:57:47,719 [Worker-820: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 08:49:32,632 [Worker-5: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-14 08:53:13,581 [Worker-11: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-14 09:07:41,492 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 09:07:41,494 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 09:31:05,046 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 09:31:05,046 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 09:38:50,550 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 09:38:50,550 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 11:49:33,845 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 11:49:33,847 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 11:57:21,568 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 11:57:21,569 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 17:37:50,439 [Worker-106: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 17:37:50,439 [Worker-106: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 17:54:05,351 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 17:54:05,351 [Worker-113: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-14 18:19:33,694 [Worker-119: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-14 18:19:33,694 [Worker-119: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 07:12:24,923 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-15 07:29:27,366 [Worker-6: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-15 07:52:52,544 [Worker-15: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-15 07:52:52,564 [Worker-15: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-15 08:37:58,664 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 08:37:58,664 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 08:39:46,277 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 08:39:46,277 [Worker-13: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 08:40:41,773 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 08:40:41,773 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 08:43:41,192 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-15 08:43:41,192 [Worker-20: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 08:43:56,414 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 08:43:56,414 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 08:54:42,702 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 08:54:42,702 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 08:59:04,543 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 08:59:04,543 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 09:02:17,653 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 09:02:17,653 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 09:07:01,186 [Worker-6: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-15 11:36:03,683 [Worker-25: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-15 11:44:47,148 [Worker-24: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 11:44:47,150 [Worker-24: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 12:12:25,076 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 12:12:25,077 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 12:20:17,785 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-15 12:20:17,786 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 12:20:32,117 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 12:20:32,118 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 15:54:27,571 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 15:54:27,574 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 19:21:46,051 [Worker-103: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 19:21:46,052 [Worker-103: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 19:30:52,992 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 19:30:52,992 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 19:32:32,808 [Worker-101: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 19:32:32,809 [Worker-101: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 19:39:04,982 [Worker-111: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 19:39:04,983 [Worker-111: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 19:54:54,800 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 19:54:54,801 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 19:55:43,636 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 19:55:43,637 [Worker-115: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-15 19:57:32,573 [Worker-112: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-15 19:57:32,574 [Worker-112: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 13:10:18,713 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-18 13:28:40,520 [Worker-11: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-18 13:31:45,698 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 13:31:45,723 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 13:40:36,768 [Worker-5: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-18 13:40:36,779 [Worker-5: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-18 15:35:36,227 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-18 15:35:36,230 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\main\resources
+2021-10-18 15:35:36,235 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-18 15:35:36,236 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\test\resources
+2021-10-18 15:35:37,842 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-18 15:35:37,844 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\main\resources
+2021-10-18 15:35:37,849 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-18 15:35:37,851 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\test\resources
+2021-10-18 15:35:41,614 [Worker-27: Build Project] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.1-Test @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\pom.xml.
+2021-10-18 15:35:41,797 [Worker-27: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-18 15:35:41,799 [Worker-27: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-18 15:35:42,180 [Worker-27: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-18 15:35:42,182 [Worker-27: Build Project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-18 15:35:44,589 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-18 15:35:44,592 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\main\resources
+2021-10-18 15:35:44,595 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-18 15:35:44,597 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\test\resources
+2021-10-18 15:35:44,603 [Worker-27: Build Project] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2021-10-18 15:35:44,658 [Worker-27: Build Project] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-18 15:35:44,673 [Worker-27: Build Project] INFO  o.e.m.c.i.embedder.EclipseLogger - Copying 3 resources
+2021-10-18 15:51:26,352 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 15:51:26,352 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 15:54:05,967 [Worker-26: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-18 15:54:05,968 [Worker-26: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-18 16:27:39,014 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 16:27:39,016 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 16:37:50,861 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 16:37:50,862 [Worker-37: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 16:43:24,307 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 16:43:24,307 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 16:47:31,341 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 16:47:31,342 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 16:47:49,000 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 16:47:49,001 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 16:52:28,586 [Worker-7: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-18 16:54:05,429 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 16:54:05,432 [Worker-5: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 16:55:29,608 [Worker-8: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-18 16:57:57,882 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 16:57:57,883 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-18 17:05:01,377 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-18 17:05:01,378 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 11:45:43,489 [Worker-180: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-19 11:45:43,491 [Worker-180: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 12:35:39,606 [Worker-189: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-19 12:35:39,607 [Worker-189: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 17:24:18,249 [Worker-222: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-19 17:24:18,250 [Worker-222: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 17:43:05,733 [Worker-222: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-19 17:43:05,734 [Worker-222: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 17:51:53,188 [Worker-224: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-19 17:51:53,420 [Worker-224: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-19 17:51:53,420 [Worker-224: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-10-19 17:52:28,579 [Worker-224: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-19 17:52:28,581 [Worker-224: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-19 17:52:52,946 [Worker-224: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-19 17:52:52,947 [Worker-224: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 18:02:40,979 [Worker-224: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-19 18:02:40,979 [Worker-224: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 18:03:42,953 [Worker-221: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-19 18:03:42,953 [Worker-221: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-19 18:06:50,134 [Worker-222: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-19 18:06:50,134 [Worker-222: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-20 11:23:39,504 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-20 11:32:24,223 [Worker-12: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-20 11:32:24,268 [Worker-12: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-20 12:11:12,426 [Worker-15: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-20 12:17:12,399 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-20 12:17:12,401 [Worker-22: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-20 20:29:07,958 [Worker-108: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-20 20:29:08,006 [Worker-108: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-20 20:38:19,727 [Worker-116: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-20 20:38:19,727 [Worker-116: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-21 09:27:28,505 [Worker-327: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-21 09:27:28,509 [Worker-327: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 09:20:42,378 [Worker-646: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 09:20:42,431 [Worker-646: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 09:26:37,753 [Worker-661: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 09:26:37,753 [Worker-661: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 09:29:42,818 [Worker-646: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 09:29:42,818 [Worker-646: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 09:32:38,806 [Worker-660: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 09:32:38,807 [Worker-660: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 09:48:44,061 [Worker-659: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 09:48:44,105 [Worker-659: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 09:56:31,367 [Worker-668: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 09:56:31,368 [Worker-668: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 10:01:57,236 [Worker-646: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 10:01:57,236 [Worker-646: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 10:51:54,910 [Worker-669: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 10:51:54,912 [Worker-669: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 11:35:41,404 [Worker-9: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-22 12:15:02,391 [Worker-14: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-22 12:17:00,401 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 12:17:00,415 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 17:46:52,874 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 17:46:52,908 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 17:54:12,560 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 17:54:12,561 [Worker-65: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 18:52:23,303 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 18:52:23,345 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 18:56:56,161 [Worker-74: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 18:56:56,162 [Worker-74: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 19:19:43,381 [Worker-79: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 19:19:43,381 [Worker-79: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 19:26:05,682 [Worker-80: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 19:26:05,682 [Worker-80: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 19:27:53,902 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 19:27:53,903 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 19:50:28,701 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 19:50:28,702 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 19:58:04,707 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-22 20:11:50,505 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 20:11:50,510 [Worker-1: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 20:23:40,823 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-22 20:23:40,823 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 20:41:32,576 [Worker-14: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-22 20:41:32,585 [Worker-14: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-22 20:41:32,586 [Worker-14: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT with classifier  to /GlemmClient/target/classes
+2021-10-22 21:01:08,273 [Worker-14: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-22 21:08:37,599 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-22 21:08:37,600 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 21:10:28,195 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-22 21:10:28,195 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 21:11:03,792 [Worker-18: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-22 21:12:03,918 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-22 21:12:03,918 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 21:12:49,199 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-22 21:12:49,199 [Worker-18: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 21:13:36,260 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-22 21:13:36,261 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-22 21:31:10,457 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-22 21:31:10,458 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 07:52:36,876 [Worker-184: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-23 07:52:36,878 [Worker-184: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 07:52:59,110 [Worker-183: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 07:52:59,111 [Worker-183: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 08:18:16,145 [Worker-189: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 08:18:16,146 [Worker-189: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 08:26:54,936 [Worker-184: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-23 08:26:54,937 [Worker-184: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 08:33:10,498 [Worker-187: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 08:33:10,499 [Worker-187: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 08:45:43,711 [Worker-187: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 08:45:43,711 [Worker-187: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 08:59:22,222 [Worker-190: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 08:59:22,223 [Worker-190: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:00:56,402 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-23 09:00:56,403 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:01:11,863 [Worker-197: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 09:01:11,863 [Worker-197: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:18:49,402 [Worker-194: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 09:18:49,402 [Worker-194: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:19:40,835 [Worker-198: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-23 09:19:40,835 [Worker-198: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:21:08,142 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-23 09:21:08,143 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:21:23,740 [Worker-198: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 09:21:23,740 [Worker-198: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:25:44,066 [Worker-199: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-23 09:25:44,067 [Worker-199: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:25:59,056 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 09:25:59,056 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 09:34:11,331 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 09:34:11,331 [Worker-191: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 10:06:16,010 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-23 10:06:16,011 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 10:06:29,955 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 10:06:29,955 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 10:06:46,161 [Worker-207: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 10:06:46,161 [Worker-207: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 10:11:49,460 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-23 10:11:49,460 [Worker-195: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 10:12:05,826 [Worker-209: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 10:12:05,826 [Worker-209: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 10:19:00,979 [Worker-210: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 10:19:00,980 [Worker-210: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 10:27:28,777 [Worker-213: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 10:27:28,777 [Worker-213: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 12:38:42,619 [Worker-220: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 12:38:42,620 [Worker-220: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 15:05:09,980 [Worker-234: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-23 15:05:09,981 [Worker-234: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 15:17:30,767 [Worker-243: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 15:17:30,768 [Worker-243: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 15:38:40,842 [Worker-244: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 15:38:40,843 [Worker-244: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 15:42:16,110 [Worker-245: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 15:42:16,110 [Worker-245: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 15:50:47,508 [Worker-251: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 15:50:47,509 [Worker-251: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 19:01:24,822 [Worker-290: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 19:01:24,823 [Worker-290: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 19:03:37,148 [Worker-289: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 19:03:37,148 [Worker-289: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 19:29:37,499 [Worker-297: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-23 19:29:37,500 [Worker-297: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 19:33:21,847 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:21,850 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\main\resources
+2021-10-23 19:33:21,856 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:21,859 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\test\resources
+2021-10-23 19:33:23,921 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:23,923 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\main\resources
+2021-10-23 19:33:23,929 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:23,932 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\test\resources
+2021-10-23 19:33:30,777 [Worker-295: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:GlemmServices:0.2-Test @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\pom.xml.
+2021-10-23 19:33:31,000 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:31,002 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:31,869 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:31,871 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:36,370 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:36,372 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\main\resources
+2021-10-23 19:33:36,376 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:36,379 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\test\resources
+2021-10-23 19:33:36,773 [Worker-295: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services.glemm.client:GlemmClient:0.2-Test @ C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\pom.xml.
+2021-10-23 19:33:36,919 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:36,920 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:37,148 [Worker-295: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.eclipse.m2e.jdt.JarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:tests:0.1 @ C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\pom.xml.
+2021-10-23 19:33:37,363 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:37,365 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:37,367 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-10-23 19:33:37,480 [Worker-295: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.1-SNAPSHOT @ C:\myIDS\Daten\KorAP\Services-0.1\WformServices\pom.xml.
+2021-10-23 19:33:37,490 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:37,492 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:37,908 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:37,910 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:39,016 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:39,018 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\main\resources
+2021-10-23 19:33:39,021 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:39,022 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\test\resources
+2021-10-23 19:33:39,176 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:39,201 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\main\resources
+2021-10-23 19:33:39,203 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:39,227 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\test\resources
+2021-10-23 19:33:39,773 [Worker-295: Building Workspace] INFO  o.e.m.c.i.l.LifecycleMappingFactory - Using org.maven.ide.eclipse.wtp.WarLifecycleMapping lifecycle mapping for MavenProject: de.korap.services:wformServices:0.2-Test @ C:\myIDS\Daten\KorAP\Services-0.1\WformServices\pom.xml.
+2021-10-23 19:33:39,918 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:39,921 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:39,924 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-23 19:33:39,974 [Worker-297: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:39,976 [Worker-297: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:39,978 [Worker-297: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-10-23 19:33:40,057 [Worker-297: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download sources for de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:sources:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:254) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2021-10-23 19:33:40,075 [Worker-297: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:40,076 [Worker-297: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:40,076 [Worker-297: Download sources and javadoc] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-23 19:33:40,092 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:40,093 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:40,097 [Worker-297: Download sources and javadoc] ERROR o.e.m.j.internal.DownloadSourcesJob - Could not download javadoc for de.korap.services.glemm.client:GlemmClient:0.1-SNAPSHOT
+org.eclipse.core.runtime.CoreException: Could not resolve artifact de.korap.services.glemm.client:GlemmClient:jar:javadoc:0.1-SNAPSHOT
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:776) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl$5.call(MavenImpl.java:1) ~[org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:743) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:720) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.download(DownloadSourcesJob.java:279) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadAttachments(DownloadSourcesJob.java:265) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.downloadMaven(DownloadSourcesJob.java:221) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:161) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:137) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob$1.call(DownloadSourcesJob.java:1) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1355) [org.eclipse.m2e.core_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.m2e.jdt.internal.DownloadSourcesJob.run(DownloadSourcesJob.java:135) [org.eclipse.m2e.jdt_1.9.0.20180606-2036.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+2021-10-23 19:33:40,314 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:33:40,315 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:33:40,315 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-23 19:33:40,859 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:40,861 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\main\resources
+2021-10-23 19:33:40,862 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:40,864 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\test\resources
+2021-10-23 19:33:40,970 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:40,971 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\main\resources
+2021-10-23 19:33:40,973 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:33:40,974 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\test\resources
+2021-10-23 19:34:06,253 [Worker-298: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 19:34:06,253 [Worker-298: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 19:49:42,460 [Worker-298: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:49:42,463 [Worker-298: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:49:42,482 [Worker-298: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2021-10-23 19:49:43,069 [Worker-298: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:49:43,071 [Worker-298: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:49:43,071 [Worker-298: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-23 19:49:43,087 [Worker-298: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2021-10-23 19:49:43,402 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:43,405 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\main\resources
+2021-10-23 19:49:43,408 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:43,411 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\test\resources
+2021-10-23 19:49:43,602 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:43,604 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\main\resources
+2021-10-23 19:49:43,621 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:43,624 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\test\resources
+2021-10-23 19:49:43,884 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:49:43,886 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:49:43,915 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:43,918 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\main\resources
+2021-10-23 19:49:43,922 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:43,924 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\test\resources
+2021-10-23 19:49:43,925 [Worker-295: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2021-10-23 19:49:43,927 [Worker-295: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2021-10-23 19:49:44,033 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,065 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:49:46,066 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:49:46,073 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,075 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\main\resources
+2021-10-23 19:49:46,077 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,079 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\test\resources
+2021-10-23 19:49:46,178 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,179 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\main\resources
+2021-10-23 19:49:46,181 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,183 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\test\resources
+2021-10-23 19:49:46,296 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:49:46,297 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:49:46,297 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-23 19:49:46,303 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,305 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\main\resources
+2021-10-23 19:49:46,307 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,308 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\test\resources
+2021-10-23 19:49:46,309 [Worker-295: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2021-10-23 19:49:46,309 [Worker-295: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2021-10-23 19:49:46,316 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,464 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-23 19:49:46,465 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-23 19:49:46,466 [Worker-295: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-10-23 19:49:46,474 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,475 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\main\resources
+2021-10-23 19:49:46,482 [Worker-295: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-23 19:49:46,494 [Worker-295: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\test\resources
+2021-10-23 19:49:55,168 [Worker-295: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 19:49:55,169 [Worker-295: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 19:58:52,020 [Worker-295: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 19:58:52,020 [Worker-295: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 20:14:27,912 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-23 20:16:24,543 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 20:16:24,546 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-23 20:16:58,128 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-23 20:16:58,129 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-25 09:38:12,372 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-25 19:03:32,585 [Worker-127: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-25 19:16:12,679 [Worker-127: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-25 19:16:12,681 [Worker-127: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-25 19:34:47,214 [Worker-130: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-25 19:34:47,214 [Worker-130: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-25 19:43:18,561 [Worker-131: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-25 19:43:18,562 [Worker-131: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-25 19:51:13,381 [Worker-131: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-25 19:51:13,381 [Worker-131: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 07:21:42,286 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-26 07:27:40,442 [Worker-11: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-26 07:37:23,569 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 07:37:23,589 [Worker-8: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 07:39:20,927 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 07:39:20,927 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 07:58:59,276 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 07:58:59,276 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 07:58:59,276 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] WARN  o.e.m.i.l.MavenLaunchExtensionsSupport - Unknown or unsupported source locator org.eclipse.jdt.internal.launching.sourcelookup.advanced.AdvancedSourceLookupDirector
+2021-10-26 08:09:51,769 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 08:09:51,770 [Worker-12: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 08:23:38,573 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 08:23:38,573 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 09:13:00,243 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 09:13:00,244 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 09:13:59,943 [Worker-23: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 09:13:59,974 [Worker-23: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 09:14:50,469 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 09:14:50,469 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 09:16:45,166 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 09:16:45,166 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 09:17:41,602 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 09:17:41,603 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 09:18:48,807 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 09:18:48,807 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 09:26:28,488 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 09:26:28,489 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 09:27:46,641 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 09:27:46,642 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 11:30:48,072 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 11:30:48,073 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 11:31:31,519 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 11:31:31,519 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 11:44:13,286 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-26 11:44:13,286 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 12:49:02,678 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-26 12:49:02,680 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 12:49:18,487 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 12:49:18,488 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 12:49:39,549 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 12:49:39,549 [Worker-50: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 12:51:25,063 [Worker-48: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 12:51:25,072 [Worker-48: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 12:51:25,073 [Worker-48: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-26 12:51:47,651 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-26 12:51:47,651 [Worker-51: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 12:52:04,300 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 12:52:04,300 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 12:56:36,813 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 12:56:36,814 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 12:56:55,759 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 12:56:55,760 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:01:09,751 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-26 15:01:09,754 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:01:26,008 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-26 15:01:26,008 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:01:45,209 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 15:01:45,209 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:02:19,319 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 15:02:19,319 [Worker-75: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:02:36,629 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 15:02:36,629 [Worker-78: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:20:46,881 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 15:20:46,882 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 15:20:48,599 [Worker-81: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for GlemmServices
+2021-10-26 15:20:49,504 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 15:20:49,506 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 15:20:49,509 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-10-26 15:20:50,087 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 15:20:50,088 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 15:20:50,089 [Worker-81: Cleaning all projects] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-26 15:20:50,096 [Worker-81: Cleaning all projects] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Cleaning filtered folder for wformServices
+2021-10-26 15:20:53,632 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:20:53,635 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\main\resources
+2021-10-26 15:20:53,638 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:20:53,640 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse\src\test\resources
+2021-10-26 15:20:55,284 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:20:55,287 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\main\resources
+2021-10-26 15:20:55,291 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:20:55,293 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Utils\src\test\resources
+2021-10-26 15:20:55,766 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 15:20:55,768 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 15:20:55,778 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:20:55,781 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\main\resources
+2021-10-26 15:20:55,785 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:20:55,787 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices\src\test\resources
+2021-10-26 15:20:55,789 [Worker-84: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of GlemmServices
+2021-10-26 15:20:55,791 [Worker-84: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for GlemmServices
+2021-10-26 15:20:56,197 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:01,592 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 15:21:01,592 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 15:21:01,607 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:01,610 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\main\resources
+2021-10-26 15:21:01,613 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:01,659 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient\src\test\resources
+2021-10-26 15:21:01,842 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:01,844 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\main\resources
+2021-10-26 15:21:01,848 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:01,851 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar\src\test\resources
+2021-10-26 15:21:02,202 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 15:21:02,205 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 15:21:02,205 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-26 15:21:02,216 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:02,247 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\main\resources
+2021-10-26 15:21:02,250 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:02,252 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\WformServices\src\test\resources
+2021-10-26 15:21:02,253 [Worker-84: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Changed resources require a complete clean of filtered resources of wformServices
+2021-10-26 15:21:02,253 [Worker-84: Building Workspace] INFO  o.e.m.w.i.f.ResourceFilteringBuildParticipant - Executing resource filtering for wformServices
+2021-10-26 15:21:02,265 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:02,539 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-26 15:21:02,540 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-26 15:21:02,542 [Worker-84: Building Workspace] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/wformServiceJar: de.korap.services:wformServiceJar:0.1-SNAPSHOT with classifier  to /wformServiceJar/target/classes
+2021-10-26 15:21:02,557 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:02,560 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\main\resources
+2021-10-26 15:21:02,569 [Worker-84: Building Workspace] WARN  o.e.m.c.i.embedder.EclipseLogger - Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
+2021-10-26 15:21:02,571 [Worker-84: Building Workspace] INFO  o.e.m.c.i.embedder.EclipseLogger - skip non existing resourceDirectory C:\myIDS\Daten\KorAP\Services-0.1\Project-Tests\src\test\resources
+2021-10-26 15:21:13,384 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-26 15:21:13,384 [Worker-77: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:21:33,031 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-26 15:21:33,031 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:21:49,208 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 15:21:49,208 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:22:02,838 [Worker-83: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar
+2021-10-26 15:22:02,839 [Worker-83: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:22:19,273 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 15:22:19,273 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:22:32,731 [Worker-82: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 15:22:32,732 [Worker-82: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 15:32:11,437 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 15:32:11,437 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:05:26,523 [Worker-93: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 16:05:26,524 [Worker-93: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:24:09,722 [Worker-96: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 16:24:09,723 [Worker-96: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:29:50,285 [Worker-94: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 16:29:50,285 [Worker-94: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:31:49,811 [Worker-100: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 16:31:49,811 [Worker-100: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:32:04,097 [Worker-95: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 16:32:04,098 [Worker-95: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:32:18,523 [Worker-99: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 16:32:18,524 [Worker-99: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:36:00,094 [Worker-99: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 16:36:00,095 [Worker-99: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:39:03,219 [Worker-106: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 16:39:03,219 [Worker-106: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:46:32,033 [Worker-100: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-26 16:46:32,033 [Worker-100: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:46:47,656 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 16:46:47,656 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:47:00,864 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 16:47:00,865 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 16:49:42,930 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-26 16:49:42,930 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 17:39:27,830 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-26 17:46:55,414 [Worker-10: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 17:46:55,418 [Worker-10: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 17:56:20,872 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 17:56:20,872 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 18:25:44,911 [Worker-17: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-26 18:30:47,478 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 18:30:47,479 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 18:32:24,341 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 18:32:24,343 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 20:16:45,263 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 20:16:45,264 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 20:25:47,595 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 20:25:47,595 [Worker-26: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 20:34:45,035 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 20:34:45,035 [Worker-23: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 20:37:24,880 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 20:37:24,880 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-26 20:38:48,116 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-26 20:38:48,116 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 08:29:05,628 [Worker-0: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-27 08:39:31,897 [Worker-3: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-27 08:50:49,204 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 08:50:49,206 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 08:51:07,506 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-27 08:51:07,507 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 08:54:22,364 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 08:54:22,365 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 08:58:35,006 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 08:58:35,006 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 08:58:49,995 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 08:58:49,995 [Worker-4: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:08:56,870 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 09:08:56,870 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:09:11,306 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 09:09:11,306 [Worker-21: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:16:54,444 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 09:16:54,445 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:17:10,212 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 09:17:10,212 [Worker-25: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:23:27,022 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 09:23:27,023 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:24:40,412 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 09:24:40,413 [Worker-27: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:24:58,242 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 09:24:58,242 [Worker-28: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:33:49,241 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 09:33:49,241 [Worker-30: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:36:48,391 [Worker-29: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-27 09:36:48,405 [Worker-29: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-27 09:36:48,406 [Worker-29: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-27 09:43:28,286 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 09:43:28,286 [Worker-34: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:44:25,126 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-27 09:44:25,126 [Worker-33: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:44:41,739 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 09:44:41,740 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:44:53,325 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\Utils
+2021-10-27 09:44:53,325 [Worker-29: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_Utils] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:45:23,712 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServiceJar
+2021-10-27 09:45:23,713 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServiceJar] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 09:45:42,679 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 09:45:42,680 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 10:58:22,201 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 10:58:22,201 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 10:58:49,266 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 10:58:49,266 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 11:18:19,246 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 11:18:19,248 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 11:18:36,267 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 11:18:36,267 [Worker-43: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 11:22:14,187 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 11:22:14,188 [Worker-36: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 11:22:30,511 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 11:22:30,511 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 13:49:31,469 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 13:49:31,470 [Worker-68: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 13:49:47,591 [Worker-70: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 13:49:47,592 [Worker-70: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 16:08:54,498 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 16:08:54,499 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 16:09:28,363 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 16:09:28,363 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 16:13:52,130 [Worker-91: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 16:13:52,130 [Worker-91: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 16:14:06,991 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 16:14:06,991 [Worker-87: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 16:21:45,451 [Worker-94: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\JsonTraverse
+2021-10-27 16:21:45,451 [Worker-94: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_JsonTraverse] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 16:22:00,760 [Worker-93: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 16:22:00,761 [Worker-93: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 16:54:24,921 [Worker-97: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 16:54:24,922 [Worker-97: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:10:42,551 [Worker-104: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-27 18:10:42,552 [Worker-104: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:11:10,933 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 18:11:10,933 [Worker-105: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:15:04,659 [Worker-100: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-27 18:15:04,659 [Worker-100: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:15:19,019 [Worker-103: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 18:15:19,020 [Worker-103: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:19:16,950 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-27 18:19:16,950 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:19:31,174 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 18:19:31,174 [Worker-107: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:22:52,960 [Worker-111: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-27 18:22:52,960 [Worker-111: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:24:27,027 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-27 18:24:27,027 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:26:37,061 [Worker-112: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-27 18:26:37,061 [Worker-112: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:28:52,031 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-27 18:28:52,031 [Worker-109: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:29:07,380 [Worker-110: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-27 18:29:07,381 [Worker-110: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-27 18:29:07,382 [Worker-110: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] WARN  o.e.m.i.l.MavenLaunchExtensionsSupport - Unknown or unsupported source locator org.eclipse.jdt.internal.launching.sourcelookup.advanced.AdvancedSourceLookupDirector
+2021-10-28 07:21:39,799 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-28 07:39:29,456 [Worker-9: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-28 07:41:00,475 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-28 07:41:00,477 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 07:41:26,439 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-28 07:41:26,439 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 09:06:52,813 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-28 09:06:52,813 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 09:07:07,905 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-28 09:07:07,906 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 13:15:59,461 [Worker-3: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-10-28 15:54:01,185 [Worker-37: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-28 16:05:15,253 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-28 16:05:15,256 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 16:05:35,108 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-28 16:05:35,109 [Worker-40: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 16:43:34,827 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-28 16:43:34,827 [Worker-44: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 16:43:50,529 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-28 16:43:50,529 [Worker-46: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 16:52:15,643 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-28 16:52:15,643 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 16:52:30,832 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-28 16:52:30,832 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 16:55:17,614 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-28 16:55:17,614 [Worker-48: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 16:55:30,830 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-28 16:55:30,831 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 17:50:37,927 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmClient
+2021-10-28 17:50:37,927 [Worker-45: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmClient] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-28 17:50:54,311 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-28 17:50:54,311 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 08:36:46,241 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-10-29 09:30:04,517 [Worker-9: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-10-29 09:35:27,067 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-29 09:35:27,070 [Worker-17: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 09:41:29,512 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-29 09:41:29,513 [Worker-9: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 09:41:50,582 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-29 09:41:50,582 [Worker-16: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 15:09:53,854 [Worker-72: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-29 15:09:53,872 [Worker-72: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-29 15:09:53,873 [Worker-72: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-10-29 15:23:30,511 [Worker-80: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-29 15:23:30,511 [Worker-80: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 15:23:53,378 [Worker-81: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-10-29 15:23:53,381 [Worker-81: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-10-29 15:26:12,764 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-29 15:26:12,764 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 15:27:08,097 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-10-29 15:27:08,097 [Worker-81: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 15:36:31,963 [Worker-82: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-29 15:36:31,964 [Worker-82: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 15:44:00,288 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-10-29 15:44:00,289 [Worker-84: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-10-29 17:50:24,853 [Worker-2: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-11-03 09:18:09,489 [Worker-4: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-11-03 09:23:26,223 [Worker-6: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-11-03 09:23:26,240 [Worker-6: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-11-03 09:24:58,751 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-03 09:24:58,753 [Worker-6: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-03 09:30:06,216 [Worker-6: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-11-03 09:30:06,219 [Worker-6: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-11-03 09:30:06,220 [Worker-6: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/GlemmClient: de.korap.services.glemm.client:GlemmClient:0.2-Test with classifier  to /GlemmClient/target/classes
+2021-11-03 09:56:04,695 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\WformServices
+2021-11-03 09:56:04,695 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_WformServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 08:15:27,388 [Worker-9: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-11-04 08:27:20,660 [Worker-18: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/utils: de.korap.services:utils:0.1-SNAPSHOT with classifier  to /utils/target/classes
+2021-11-04 08:27:20,680 [Worker-18: reload maven project] INFO  o.e.m.c.i.p.WorkspaceClassifierResolverManager - Resolving P/JsonTraverse: de.korap.json:JsonTraverse:0.1-SNAPSHOT with classifier  to /JsonTraverse/target/classes
+2021-11-04 08:39:09,021 [Worker-16: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-11-04 08:44:59,005 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 08:44:59,007 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 09:41:25,262 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 09:41:25,263 [Worker-3: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 09:57:32,736 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 09:57:32,736 [Worker-32: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 10:38:11,355 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 10:38:11,356 [Worker-35: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 10:41:48,426 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 10:41:48,427 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 10:49:20,820 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 10:49:20,821 [Worker-41: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 10:56:18,414 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 10:56:18,414 [Worker-42: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 11:00:01,337 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 11:00:01,337 [Worker-39: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 15:48:47,400 [Worker-118: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 15:48:47,401 [Worker-118: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 18:43:16,825 [Worker-153: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 18:43:16,826 [Worker-153: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 19:12:36,947 [Worker-162: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 19:12:36,948 [Worker-162: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 21:17:13,359 [Worker-174: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 21:17:13,377 [Worker-174: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-04 21:33:51,487 [Worker-176: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-04 21:33:51,488 [Worker-176: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-05 08:26:36,089 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
+2021-11-05 08:30:01,611 [Worker-0: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-11-05 08:31:43,259 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-05 08:31:43,261 [Worker-0: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-05 09:33:15,358 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-05 09:33:15,360 [Worker-19: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-05 09:34:31,296 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-05 09:34:31,296 [Worker-15: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-05 17:56:08,204 [Worker-1: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
+2021-11-05 18:00:57,031 [Worker-8: Resolving model org.eclipse.recommenders:index::zip:0.0.0] WARN  o.e.r.models.ModelRepository - Failed to download org.eclipse.recommenders:index::zip:0.0.0
+org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:453) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:255) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:232) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:303) ~[na:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolveInternal(ModelRepository.java:193) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.models.ModelRepository.resolve(ModelRepository.java:172) [org.eclipse.recommenders.models_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.EclipseModelRepository.resolve(EclipseModelRepository.java:168) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.recommenders.internal.models.rcp.DownloadModelArchiveJob.run(DownloadModelArchiveJob.java:76) [org.eclipse.recommenders.models.rcp_2.5.3.v20180609-1554.jar:na]
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) [org.eclipse.core.jobs_3.10.0.v20180427-1454.jar:na]
+Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.eclipse.recommenders:index:zip:0.0.0-SNAPSHOT in models (http://download.eclipse.org/recommenders/models/photon/)
+	at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:364) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:76) ~[na:na]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:590) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:258) ~[org.apache.maven.resolver.connector.basic_1.0.3.v20170405-0725.jar:1.0.3]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:529) ~[na:na]
+	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:430) ~[na:na]
+	... 8 common frames omitted
+2021-11-05 18:04:27,616 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-05 18:04:27,621 [Worker-2: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-05 18:31:48,333 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate - C:\myIDS\Daten\KorAP\Services-0.1\GlemmServices
+2021-11-05 18:31:48,335 [Worker-14: Launching Executing install in C__myIDS_Daten_KorAP_Services-0.1_GlemmServices] INFO  o.e.m.i.launch.MavenLaunchDelegate -  mvn -B install
+2021-11-09 15:17:42,780 [Worker-8: Loading available Gradle versions] INFO  c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.9.0.20180606-2036.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.9.0.20180606-2036.xml
new file mode 100644
index 0000000..e33758c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.9.0.20180606-2036.xml
@@ -0,0 +1,43 @@
+<configuration scan="true">
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+      <pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
+    </encoder>
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>OFF</level> <!-- change to DEBUG to mimic '-consolelog' behaviour -->
+    </filter>
+  </appender>
+
+  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <File>${org.eclipse.m2e.log.dir}/0.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <FileNamePattern>${org.eclipse.m2e.log.dir}/%i.log</FileNamePattern>
+      <MinIndex>1</MinIndex>
+      <MaxIndex>10</MaxIndex>
+    </rollingPolicy>
+    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <MaxFileSize>100MB</MaxFileSize>
+    </triggeringPolicy>
+    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+      <pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="EclipseLog" class="org.eclipse.m2e.logback.appender.EclipseLogAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+  </appender>
+
+  <appender name="MavenConsoleLog" class="org.eclipse.m2e.logback.appender.MavenConsoleAppender">
+  </appender>
+        
+  <root level="INFO">
+    <appender-ref ref="FILE" />
+    <appender-ref ref="STDOUT" />
+    <appender-ref ref="EclipseLog" />
+    <appender-ref ref="MavenConsoleLog" />
+  </root>
+
+  <logger name="com.ning.http.client" level="INFO" />
+</configuration>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
new file mode 100644
index 0000000..1f73e14
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<setup:Workspace
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
+    name="workspace"/>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
new file mode 100644
index 0000000..c3f93b4
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties
@@ -0,0 +1,2 @@
+#Cached timestamps
+#Fri Mar 06 17:52:07 CET 2020
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.recommenders.news.impl/downloads/http%3A%2F%2Fwww.eclipse.org%2Fhome%2Feclipsenews.rss b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.recommenders.news.impl/downloads/http%3A%2F%2Fwww.eclipse.org%2Fhome%2Feclipsenews.rss
new file mode 100644
index 0000000..003d9d1
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.recommenders.news.impl/downloads/http%3A%2F%2Fwww.eclipse.org%2Fhome%2Feclipsenews.rss
@@ -0,0 +1,1485 @@
+<?xml version="1.0" ?>
+ <rss version="2.0">
+  <channel>
+    <title>Eclipse News</title>
+    <link>http://www.eclipse.org</link>
+    <description>Eclipse News</description>
+    <image>
+      <url>http://eclipse.org/eclipse.org-common/themes/Nova/images/eclipse.png</url>
+      <title>eclipse.org</title>
+      <link>http://www.eclipse.org</link>
+    </image>
+    <item>
+      <title><![CDATA[EclipseCon 2020 CFP is Open]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/eclipsecon-2020-cfp-open]]></link>
+      <description><![CDATA[If you are interested in speaking, our call for proposals is now open. Please visit the CFP page for information on how to submit your talk.]]></description>
+      <pubDate>Thu, 16 Apr 2020 15:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Add Your Voice to the 2020 Jakarta EE Developer Survey]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/add-your-voice-2020-jakarta-ee-developer-survey]]></link>
+      <description><![CDATA[Our third annual Jakarta EE Developer Survey is now open and I encourage everyone to take a few minutes and complete the survey before the April 30 deadline.]]></description>
+      <pubDate>Tue, 7 Apr 2020 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Releases Eclipse Theia 1.0, a True Open Source Alternative to Visual Studio Code]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20200331-theia.php]]></link>
+      <description><![CDATA[The Eclipse Foundation, one of the world’s largest open source foundations, today announced the release of Theia 1.0, a true open source alternative to Microsoft’s popular Visual Studio Code (VS Code) software.]]></description>
+      <pubDate>Tue, 31 Mar 2020 07:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon 2020 to Be Held as Virtual Event]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/paul-white/eclipsecon-2020-be-held-virtual-event]]></link>
+      <description><![CDATA[The Eclipse Foundation is announcing today that it will hold its annual EclipseCon conference as a virtual event.]]></description>
+      <pubDate>Fri, 27 Mar 2020 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Supports EU Funded SmartCLIDE Project]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20200326-smartclide.php]]></link>
+      <description><![CDATA[A European consortium of eleven partners from Germany, Greece, Luxembourg, Portugal, Spain, and the United Kingdom has announced the launch of the SmartCLIDE project, a €4.9 million research project funded by the European Union’s Horizon 2020 research and innovation program.]]></description>
+      <pubDate>Thu, 26 Mar 2020 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Board Election Results]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20200319-boardelection.php]]></link>
+      <description><![CDATA[Today we are pleased to announce the results of the Eclipse Foundation Sustaining Member and Committer Member elections for representatives to our Board of Directors. The positions of Sustaining Members and Committer representatives are a vitally important part of the Eclipse Foundation's governance.]]></description>
+      <pubDate>Thu, 19 Mar 2020 09:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Real-World IoT Adoption]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/real-world-iot-adoption]]></link>
+      <description><![CDATA[The results of our first IoT Commercial Adoption survey tell a clear story about what organizations are doing with IoT right now and their plans for production deployments.]]></description>
+      <pubDate>Fri, 13 Mar 2020 12:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Releases IoT Commercial Adoption Survey Results]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20200310-iot-commercial-adoption-survey-2019.php]]></link>
+      <description><![CDATA[The Eclipse Foundation announced the release of its first annual IoT Commercial Adoption survey.]]></description>
+      <pubDate>Tue, 10 Mar 2020 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[IOTA and the Eclipse Foundation Launch Working Group to Develop Commercial Applications on Distributed Ledger Technology]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20200212-iota.php]]></link>
+      <description><![CDATA[New Tangle EE Working Group Brings Together Fifteen Diverse Organizations to Foster Data and Payment Innovation on Distributed Ledger Technology (DLT)]]></description>
+      <pubDate>Tue, 11 Feb 2020 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Sparkplug: Standardizing Industrial IoT Communications]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/sparkplug-standardizing-industrial-iot-communications]]></link>
+      <description><![CDATA[With the launch this week of the Sparkplug Working Group, we’re bringing together the industry leaders and technologies needed to drive...]]></description>
+      <pubDate>Thu, 06 Feb 2020 13:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Launches the Sparkplug Working Group to Bring Device Communications Standardization to the Industrial Internet of Things and Industrial Automation]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2020/02/03/1978911/0/en/The-Eclipse-Foundation-Launches-the-Sparkplug-Working-Group-to-Bring-Device-Communications-Standardization-to-the-Industrial-Internet-of-Things-and-Industrial-Automation.html]]></link>
+      <description><![CDATA[Founding members Chevron, Canary Labs, Cirrus Link Solutions, HiveMQ, Inductive Automation, and ORing are defining an open standard specification to create interoperable MQTT IIoT solutions]]></description>
+      <pubDate>Tue, 04 Feb 2020 8:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Announces the CN4J Day 2020 Event for Building Enterprise Java on Kubernetes]]></title>
+      <link><![CDATA[https://jakarta.ee/news/announcements/2020/01/28/the-eclipse-foundation-announces-the-cn4j-day-2020-event-for-building-enterprise-java-on-kubernetes/]]></link>
+      <description><![CDATA[Today the Eclipse Foundation announced the launch of the Cloud Native for Java (CN4J) Day event, a full-day of expert talks, demos, and thought-provoking sessions focused on enterprise applications implemented using open source vendor-neutral Jakarta EE (successor of Java EE) and Eclipse MicroProfile specifications on Kubernetes.]]></description>
+      <pubDate>Tue, 28 Jan 2020 8:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Moving Forward With Jakarta EE 9]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/moving-forward-jakarta-ee-9]]></link>
+      <description><![CDATA[On behalf of the Jakarta EE Working Group, we are excited to announce the unanimous approval of the plan for Jakarta EE 9, with an anticipated mid-2020 release.]]></description>
+      <pubDate>Mon, 20 Jan 2020 10:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The realities of running an open-source community]]></title>
+      <link><![CDATA[https://sdtimes.com/open-source/the-realities-of-running-an-open-source-community/]]></link>
+      <description><![CDATA[The benefits of using open-source software is immeasurable, but it’s not the code itself that makes open-source software an invaluable resource.]]></description>
+      <pubDate>Thu, 9 Jan 2020 09:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation’s New Bylaws Are in Effect]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20200107-bylaws_release_3.php]]></link>
+      <description><![CDATA[We are pleased to announce the Eclipse Foundation’s new Bylaws went into effect on January 1, 2020.]]></description>
+      <pubDate>Tue, 7 Jan 2020 09:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Close to the Edge]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/close-edge]]></link>
+      <description><![CDATA[Today we are launching our new Edge Native Working Group to help drive the industry platform for edge computing.]]></description>
+      <pubDate>Tue, 17 Dec 2019 9:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Launches the Edge Native Working Group to Deliver Production-Grade Code for Open Source Edge Computing]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2019/12/10/1958428/0/en/The-Eclipse-Foundation-Launches-the-Edge-Native-Working-Group-to-Deliver-Production-Grade-Code-for-Open-Source-Edge-Computing.html]]></link>
+      <description><![CDATA[The Eclipse Foundation today announced the launch of the Edge Native Working Group, a vendor-neutral and code-first industry collaboration that will drive the evolution and broad adoption of open source software for edge computing.]]></description>
+      <pubDate>Tue, 10 Dec 2019 9:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Participate in the 2019 IoT Commercial Adoption Survey!!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/participate-2019-iot-commercial-adoption-survey]]></link>
+      <description><![CDATA[According to McKinsey, the Internet of Things (IoT) will have a total potential economic impact of up to $11.1 trillion a year by 2025.]]></description>
+      <pubDate>Thu, 10 Oct 2019 10:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Payara Server is Jakarta EE 8 Compatible!]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20191009-payara.php]]></link>
+      <description><![CDATA[Payara Services and the Eclipse Foundation, Inc. today announced the application server ,Payara Server, a Jakarta EE 8 compatible implementation.]]></description>
+      <pubDate>Wed, 9 Oct 2019 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Launches The Eclipse Cloud Development Tools Working Group for Cloud Native Software!]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20191008-ECD.php]]></link>
+      <description><![CDATA[The Eclipse Foundation today announced the launch of the Eclipse Cloud Development Tools Working Group (ECD WG)]]></description>
+      <pubDate>Tue, 8 Oct 2019 13:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Early registration for EclipseCon Europe ends October 1!]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2019/registration]]></link>
+      <description><![CDATA[If you haven't got your tickets yet, register now and save for EclipseCon Europe! Early Bird pricing ends tomorrow!]]></description>
+      <pubDate>Mon, 30 Sep 2019 11:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Call for Birds of Feather's (BoFs) for EclipseCon Europe 2019!]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2019/news/call-bofs]]></link>
+      <description><![CDATA[Community Evening includes an Edge Computing hackathon, a Project Pitch game, Eclipse Night School, and - of course - BoFs!]]></description>
+      <pubDate>Tue, 24 Sep 2019 11:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Come to Eclipse Night School at EclipseCon Europe!]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2019/news/eclipse-night-school]]></link>
+      <description><![CDATA[Come to Night School, and learn all about what the Foundation staff does to make your (Eclipse) life better!]]></description>
+      <pubDate>Tue, 24 Sep 2019 11:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Wins Duke's Choice Award for Open Source Contributions to the Java Ecosystem]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2019/09/17/1916531/0/en/The-Eclipse-Foundation-Wins-Duke-s-Choice-Award-for-Open-Source-Contributions-to-the-Java-Ecosystem.html]]></link>
+      <description><![CDATA[The Eclipse Foundation was awarded a Duke's Choice Award yesterday in recognition for outstanding open source contributions to the Java ecosystem and the community-driven achievement of moving Java EE technologies from Oracle to the Jakarta EE Working Group.]]></description>
+      <pubDate>Tue, 17 Sep 2019 9:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[The Eclipse Foundation Releases Eclipse Che 7, the First Kubernetes-Native IDE, to Make Creating Cloud Native Applications Easier, Faster, and More Secure]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2019/09/17/1916522/0/en/The-Eclipse-Foundation-Releases-Eclipse-Che-7-the-First-Kubernetes-Native-IDE-to-Make-Creating-Cloud-Native-Applications-Easier-Faster-and-More-Secure.html]]></link>
+      <description><![CDATA[The Eclipse Foundation today announced at the Oracle Code One conference and tradeshow the release of Eclipse Che 7, the first developer workspace server and Integrated Development Environment (IDE) for creating cloud native, enterprise applications on Kubernetes]]></description>
+      <pubDate>Tue, 17 Sep 2019 9:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Community Continues to Deliver on Open Source Commitment]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/eclipse-community-continues-deliver-open-source-commitment]]></link>
+      <description><![CDATA[Community is key. And the Eclipse Foundation's community is on a roll.]]></description>
+      <pubDate>Tue, 17 Sep 2019 9:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[EclipseCon Europe 2019 Keynotes Announced - Register Now!]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2019/keynotes]]></link>
+      <description><![CDATA[We are excited to announce the keynote speaker lineup for our community's biggest event of the year.]]></description>
+      <pubDate>Tue, 17 Sep 2019 9:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[The Eclipse Foundation Releases Jakarta EE 8 Specifications; Completes Transition to Eclipse Foundation as the New Home for Open Source Cloud Native Java]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2019/09/10/1913300/0/en/The-Eclipse-Foundation-Releases-Jakarta-EE-8-Specifications-Completes-Transition-to-Eclipse-Foundation-as-the-New-Home-for-Open-Source-Cloud-Native-Java.html]]></link>
+      <description><![CDATA[The Eclipse Foundation today announced during the JakartaOne Livestream virtual conference the release of the Jakarta EE 8 Full Platform and Web Profile specifications and related Technology Compatibility Kits (TCKs).]]></description>
+      <pubDate>Tue, 17 Sep 2019 9:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[OpenADx Becomes Eclipse Working Group Focused on Interoperability in the Autonomous Driving Software Stack]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2019/08/27/1906959/0/en/OpenADx-Becomes-Eclipse-Working-Group-Focused-on-Interoperability-in-the-Autonomous-Driving-Software-Stack.html]]></link>
+      <description><![CDATA[Originally launched by Bosch and Microsoft, the OpenADx working group calls for participation from automotive industry OEMs, tools vendors, and developer community]]></description>
+      <pubDate>Tue, 17 Sep 2019 9:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Welcome to the Future of Cloud Native Java]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/welcome-future-cloud-native-java]]></link>
+      <description><![CDATA[Today, with the release of Jakarta EE 8, we've entered a new era in Java innovation!]]></description>
+      <pubDate>Tue, 10 Sep 2019 11:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Update for Jakarta EE community: September 2019]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/update-jakarta-ee-community-september-2019]]></link>
+      <description><![CDATA[There's a lot happening in the Jakarta EE ecosystem so if you want to get a richer insight into Jakarta EE, read on.]]></description>
+      <pubDate>Mon, 09 Sep 2019 15:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Welcome Ivar Grimstad!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/paul-buck/welcome-ivar]]></link>
+      <description><![CDATA[We are happy to announce that effective October 1st, Ivar Grimstad will join the Eclipse Foundation in the role of Jakarta EE Developer Advocate.]]></description>
+      <pubDate>Mon, 26 Aug 2019 11:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Jakarta Newsletter August 2019: Jakarta EE 8 Preview]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/gabriela-motroc/jakarta-newsletter-august-2019-jakarta-ee-8-preview]]></link>
+      <description><![CDATA[There's a lot happening in the Jakarta EE ecosystem so if you want to get a richer insight into Jakarta EE, read on.]]></description>
+      <pubDate>Mon, 26 Aug 2019 11:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+   <item>
+      <title><![CDATA[Community Day and Community Evening at EclipseCon Europe 2019]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/stephanie-swart/community-day-and-community-evening-eclipsecon-europe-2019]]></link>
+      <description><![CDATA[Learn how you can help us plan Community Day and the new Community Evening this year at EclipseCon Europe!]]></description>
+      <pubDate>Wed, 07 Aug 2019 15:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Update for Jakarta EE community: August 2019]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/update-jakarta-ee-community-august-2019]]></link>
+      <description><![CDATA[There's a lot happening in the Jakarta EE ecosystem so if you want to get a richer insight into Jakarta EE, read on.]]></description>
+      <pubDate>Wed, 07 Aug 2019 15:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter - July 2019: Research@Eclipse]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/gabriela-motroc/eclipse-newsletter-july-2019-researcheclipse]]></link>
+      <description><![CDATA[Read Gabriela Motroc's latest blog on the Eclipse Newsletter: Research@Eclipse]]></description>
+      <pubDate>Thu, 26 Jul 2019 08:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[The latest Eclipse Newsletter had been released: Research@Eclipse]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2019/july/]]></link>
+      <description><![CDATA[We are very proud to offer you an introduction to most of the research projects we're involved in and the Eclipse Foundation!]]></description>
+      <pubDate>Thu, 25 Jul 2019 09:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Industrial-Scale Collaboration for the Business Win]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/industrial-scale-collaboration-business-win]]></link>
+      <description><![CDATA[Today, we are thrilled to release the Business of Open Source eBook focused on how successful entrepreneurs are leveraging all that open source has to offer to drive digital disruption within business-friendly open source foundations.]]></description>
+      <pubDate>Tue, 16 Jul 2019 10:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Commercial-Grade Collaboration at the Eclipse Foundation]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/commercial-grade-collaboration-eclipse-foundation]]></link>
+      <description><![CDATA[We've just released a Business of Open Source eBook that is essential reading for leaders in the age of digital disruption who are considering how to maximize their returns from open source participation.]]></description>
+      <pubDate>Tue, 16 Jul 2019 10:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Update for Jakarta EE community: July 2019]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/update-jakarta-ee-community-july-2019]]></link>
+      <description><![CDATA[There are a few ways to get richer insight into the work that has been invested in Jakarta EE so far, so if you'd like to learn more about Jakarta EE-related plans and get involved in shaping the future of Cloud Native Java, read on.]]></description>
+      <pubDate>Mon, 15 Jul 2019 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Early-Bird Talks: A Preview of What's to Come]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2019/news/early-bird-talks-preview-whats-come]]></link>
+      <description><![CDATA[The community really came though for the early-bird deadline this year. The program committee reviewed a record number of talks (144) to come up with a top-six list!]]></description>
+      <pubDate>Fri, 05 Jul 2019 08:25:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[The Eclipse IoT Newsletter is out!]]></title>
+      <link><![CDATA[https://mailchi.mp/18324dc88d65/eclipse-iot-newsletter-june-2019]]></link>
+      <description><![CDATA[Welcome to the second issue of the Eclipse IoT Newsletter for 2019, a newsletter tailored to share Eclipse IoT community and industry news.]]></description>
+      <pubDate>Thu, 27 Jun 2019 11:25:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Newsletter: First Look at Eclipse IDE 2019-06]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2019/june/]]></link>
+      <description><![CDATA[This month the Eclipse Newsletter features the Eclipse IDE 2019-06, which is now available for download!]]></description>
+      <pubDate>Thu, 27 Jun 2019 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse ioFog: Evolving Toward Native Kubernetes Orchestration at the Edge]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/eclipse-iofog-evolving-toward-native-kubernetes-orchestration-edge]]></link>
+      <description><![CDATA[The Eclipse Foundation is excited to support today's announcement of the initial availability of Eclipse ioFog features that make any Kubernetes distribution edge-aware.]]></description>
+      <pubDate>Mon, 24 Jun 2019 13:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Become a Sponsor at EclipseCon Europe 2019!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/jameka-woodberry/become-sponsor-eclipsecon-europe-2019]]></link>
+      <description><![CDATA[We're gearing up for EclipseCon Europe 2019, our biggest event of the year which brings together developers, architects, and open source business leaders.]]></description>
+      <pubDate>Fri, 21 Jun 2019 11:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Update for Jakarta EE community: June 2019]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/update-jakarta-ee-community-june-2019]]></link>
+      <description><![CDATA[Get the latest monthly email update on the Jakarta EE community from news highlights to various meetings and events related to the platform!]]></description>
+      <pubDate>Thu, 20 Jun 2019 12:05:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Individual Committer Agreement 4.0 Update]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/sharon-corbett/eclipse-individual-committer-agreement-40-update]]></link>
+      <description><![CDATA[On June 13th, we retired all versions of the  Eclipse Individual Committer Agreement (ICA) prior to version 4.0. Update yours today!]]></description>
+      <pubDate>Mon, 17 Jun 2019 09:05:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[2019 Annual Eclipse Foundation Community Report]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/foundation/reports/annual_report.php]]></link>
+      <description><![CDATA[Read the eighth annual Eclipse Foundation Community Report! Comments and feedback on the style and content are welcome!]]></description>
+      <pubDate>Tue, 11 Jun 2019 13:05:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Jakarta Newsletter May 2019: Onwards and Upwards for the Jakarta Community]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/gabriela-motroc/jakarta-newsletter-may-2019-onwards-and-upwards-jakarta-community]]></link>
+      <description><![CDATA[The elected positions are to represent each of the Enterprise Members, Participant Members, and Committer Members.]]></description>
+      <pubDate>Tue, 04 Jun 2019 08:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Election time for Jakarta EE Working Group Committees!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/election-time-jakarta-ee-working-group-committees]]></link>
+      <description><![CDATA[The elected positions are to represent each of the Enterprise Members, Participant Members, and Committer Members.]]></description>
+      <pubDate>Tue, 28 May 2019 11:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon Europe 2019: Call for Papers open until July 15 - Submit a talk today!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/jameka-woodberry/eclipsecon-europe-2019-call-papers-open-until-july-15-submit-talk-today]]></link>
+      <description><![CDATA[Submit your proposals to be part of ECE's 2019 speaker lineup. The conference is in Ludwigsburg, Germany Oct 21-24, 2019]]></description>
+      <pubDate>Tue, 28 May 2019 11:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Statement by the Eclipse Foundation on Huawei Entity List Ruling]]></title>
+      <link><![CDATA[https://eclipse.org/org/press-release/20190527-EAR.php]]></link>
+      <description><![CDATA[Open Source projects involving encryption software source code are still required to send a notice of the URL to BIS and NSA to satisfy the "publicly available" notice requirement in EAR &sect; 742.15(b)]]></description>
+      <pubDate>Mon, 27 May 2019 09:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Industry leaders Red Hat, Eurotech, and Cloudera join forces at the Eclipse Foundation]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/jameka-woodberry/industry-leaders-red-hat-eurotech-and-cloudera-join-forces-eclipse-foundation]]></link>
+      <description><![CDATA[Industry leaders Red Hat, Eurotech and Cloudera turned to the Eclipse IoT Working Group to overcome common challenges and provide their customers with an end-to-end IoT solution.]]></description>
+      <pubDate>Mon, 27 May 2019 08:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[ECE 2019: CFP Now Open!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/ece-2019-cfp-now-open]]></link>
+      <description><![CDATA[The ECE 2019 Call for Papers is now open. The early-bird deadline is July 1 and final submission is July 15. ]]></description>
+      <pubDate>Tue, 21 May 2019 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Cloud Native Java Innovation at the Eclipse Foundation]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/cloud-native-java-innovation-eclipse-foundation]]></link>
+      <description><![CDATA[The world's leading technology vendors, including Fujitsu, IBM, Microsoft, Oracle, Red Hat, SAP, and Tomitribe, are collaborating at the Eclipse Foundation to advance enterprise Java technologies to support the migration of mission-critical applications to the cloud.]]></description>
+      <pubDate>Tue, 21 May 2019 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Update for Jakarta EE community: May 2019]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/update-jakarta-ee-community-may-2019]]></link>
+      <description><![CDATA[Active participation represents the best way to drive the vendor-neutral and rapid innovation necessary to modernize enterprise systems for cloud use cases.]]></description>
+      <pubDate>Tue, 21 May 2019 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Launches openMobility Working Group]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2019/05/13/1822364/0/en/Eclipse-Foundation-Launches-openMobility-Working-Group.html]]></link>
+      <description><![CDATA[Today we announced the launch of the openMobility Working Group that will focus on open and shared collaboration around one of the major issues in urban planning around autonomous vehicles and future transportation requirements.]]></description>
+      <pubDate>Mon, 13 May 2019 17:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[New Eclipse Foundation Community Survey of Java Developers Shows Cloud Native Adoption Accelerating Dramatically with Jakarta EE]]></title>
+      <link><![CDATA[https://www.globenewswire.com/news-release/2019/05/09/1820952/0/en/New-Eclipse-Foundation-Community-Survey-of-Java-Developers-Shows-Cloud-Native-Adoption-Accelerating-Dramatically-with-Jakarta-EE.html]]></link>
+      <description><![CDATA[Eclipse Foundation enterprise Java survey shows cloud deployments increasing over 2018 findings with 62% of Java developers building cloud native architectures now or within the year]]></description>
+      <pubDate>Thu, 09 May 2019 14:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[The Cloud Native Imperative - Results from the 2019 Jakarta EE Developer Survey]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/cloud-native-imperative-%E2%80%94-results-2019-jakarta-ee-developer-survey]]></link>
+      <description><![CDATA[The results of the 2019 Jakarta EE Developer Survey are out. Almost 1,800 Java developers from around the world have spoken.]]></description>
+      <pubDate>Fri, 10 May 2019 14:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Frequently Asked Questions About Jakarta EE 8]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/frequently-asked-questions-about-jakarta-ee-8]]></link>
+      <description><![CDATA[Have questions about Jakarta EE 8? Check out Mike Milinkovich's newest FAQ blog!]]></description>
+      <pubDate>Wed, 08 May 2019 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Contributor Agreement 3.0]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/eclipse-contributor-agreement-30]]></link>
+      <description><![CDATA[The Eclipse Foundation's IP Team has been working hard to get the various agreements that we maintain between the Eclipse Foundation and community updated.]]></description>
+      <pubDate>Wed, 08 May 2019 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Update on Jakarta EE Rights to Java Trademarks]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/update-jakarta-ee-rights-java-trademarks]]></link>
+      <description><![CDATA[Summary of progress to date and implications of the agreement between Eclipse and Oracle on Jakarta EE and use of Java trademarks and the javax namespace.]]></description>
+      <pubDate>Fri, 03 May 2019 15:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation on the move!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/eclipse-foundation-move]]></link>
+      <description><![CDATA[After 15 years at 102 Centrepointe Drive in Ottawa, the Eclipse Foundation is on the move!]]></description>
+      <pubDate>Thu, 25 Apr 2019 15:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[The 2019 IoT Developer Survey Results are Live]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/2019-iot-developer-survey-results-are-live]]></link>
+      <description><![CDATA[This year marks the fifth year the Eclipse IoT Working Group has asked the global IoT developer community to share their perceptions, requirements, and priorities.]]></description>
+      <pubDate>Wed, 17 Apr 2019 08:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[New Survey of More Than 1,700 IoT Developers Reveals Top Hardware, Software "Stack" Choices]]></title>
+      <link><![CDATA[http://www.globenewswire.com/news-release/2019/04/17/1805318/0/en/New-Survey-of-More-Than-1-700-IoT-Developers-Reveals-Top-Hardware-Software-Stack-Choices.html]]></link>
+      <description><![CDATA[Today, we released the 2019 IoT Developer Survey results that canvassed more than 1,700 developers about their IoT efforts!]]></description>
+      <pubDate>Wed, 17 Apr 2019 08:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Renaming Java EE Specifications for Jakarta EE]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/renaming-java-ee-specifications-jakarta-ee]]></link>
+      <description><![CDATA[As we prepare to engage in actual specification work, it's time to start thinking about changing the names of the specifications and the projects that contain their artifacts.]]></description>
+      <pubDate>Fri, 05 Apr 2019 07:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[How to participate in advancing Jakarta EE Specification: Technical and Collateral material related work]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/how-participate-advancing-jakarta-ee-specification-technical-and-collateral]]></link>
+      <description><![CDATA[We have heard from members of the community some suggestions on what they need from the specification, but we can always use more!]]></description>
+      <pubDate>Fri, 05 Apr 2019 07:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Welcome Gabriela!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/welcome-gabriela]]></link>
+      <description><![CDATA[We'd like to welcome Gabriela Motroc to the Eclipse Foundation as a Content Marketing Specialist based in Germany!]]></description>
+      <pubDate>Mon, 01 Apr 2019 09:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Thank You for Taking the Jakarta EE 2019 Developer Survey!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/thank-you-taking-jakarta-ee-2019-developer-survey]]></link>
+      <description><![CDATA[The survey wrapped up at midnight on Monday, March 25, with over 1,770 responses from developers around the globe.]]></description>
+      <pubDate>Mon, 01 Apr 2019 08:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Incubation in the Eclipse Development Process]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/incubation-eclipse-development-process]]></link>
+      <description><![CDATA[The Eclipse Development Process has a notion of phases. Two of those phases are Incubation and Mature.]]></description>
+      <pubDate>Fri, 15 Mar 2019 15:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[That's A Wrap, Folks! Thank You for Participating in Our 2019 IoT Developer Survey!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/jameka-woodberry/thats-wrap-folks-thank-you-participating-our-2019-iot-developer-survey]]></link>
+      <description><![CDATA[We are proud to announce that our 2019 IoT Developer Survey, organized by the Eclipse IoT Working Group, was a huge success with over 1,700 responses!]]></description>
+      <pubDate>Mon, 11 Mar 2019 13:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Specification Process Step-by-Step]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/eclipse-foundation-specification-process-step-step]]></link>
+      <description><![CDATA[The Eclipse Foundation Specification Process (EFSP) provides a framework and governance model for developers engaged in the process of developing specifications.]]></description>
+      <pubDate>Fri, 08 Mar 2019 13:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Board Election Results]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20190305-boardelection.php]]></link>
+      <description><![CDATA[See the results of the Eclipse Foundation Sustaining Member and Committer Member elections for representatives to our Board of Directors.]]></description>
+      <pubDate>Wed, 06 Mar 2019 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[The 2019 Jakarta EE Developer Survey is underway!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/paul-buck/2019-jakarta-ee-developer-survey-underway]]></link>
+      <description><![CDATA[The Jakarta EE Working Group is launching the Jakarta EE Developer Survey for 2019!]]></description>
+      <pubDate>Tue, 05 Mar 2019 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Jakarta EE - What's New in 2019?]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2019/february/]]></link>
+      <description><![CDATA[Check out what's new in 2019 for Jakarta EE!]]></description>
+      <pubDate>Mon, 04 Mar 2019 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse IoT Reaches New Milestones in Open Source IoT Leadership]]></title>
+      <link><![CDATA[https://globenewswire.com/news-release/2019/02/26/1742272/0/en/Eclipse-IoT-Reaches-New-Milestones-in-Open-Source-IoT-Leadership.html]]></link>
+      <description><![CDATA[Eclipse IoT reaches three million lines of code, 41 member companies, 37 IoT projects, and 350 contributors - bringing IoT leaders together to standardize open architecture.]]></description>
+      <pubDate>Tue, 26 Feb 2019 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Participate in the 2019 IoT Developer Survey!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/participate-2019-iot-developer-survey]]></link>
+      <description><![CDATA[The Eclipse IoT Working Group is pleased to launch the 2019 IoT Developer Survey and we want to hear from you!]]></description>
+      <pubDate>Mon, 11 Feb 2019 10:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter - Editorial Calendar 2019]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/jameka-woodberry/eclipse-newsletter-%E2%80%94-editorial-calendar-2019]]></link>
+      <description><![CDATA[Our goal with the newsletter is to deliver great content that educates, motivates, and inspires our community!]]></description>
+      <pubDate>Mon, 11 Feb 2019 10:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Open Source: Can you afford not to get involved?]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/open-source-can-you-afford-not-get-involved]]></link>
+      <description><![CDATA[To say that the open source community is on a roll would be an understatement.]]></description>
+      <pubDate>Thu, 07 Feb 2019 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation: 15 Years Young]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/eclipse-foundation-15-years-young]]></link>
+      <description><![CDATA[Saturday, February 2, 2019 marks the 15th birthday of the Eclipse Foundation. That was the day that it was publicly and officially announced, and the opening day of the first ever EclipseCon conference.]]></description>
+      <pubDate>Fri, 01 Feb 2019 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Jakartablogs.ee is Live! PS: Bloggers, We Need You!]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/jakartablogsee-live-ps-bloggers-we-need-you]]></link>
+      <description><![CDATA[Jakartablogs.ee is the new blog home for our global community to stay up to date on the latest Jakarta EE news, technologies, best practices, and more.]]></description>
+      <pubDate>Tue, 29 Jan 2019 15:20:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Specification Process IV: The Specification Committee Votes]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/eclipse-specification-process-iv-specification-committee-votes]]></link>
+      <description><![CDATA[One key difference between Eclipse open source software projects and open source specification projects is that specification projects must be aligned with exactly one specification committee]]></description>
+      <pubDate>Mon, 21 Jan 2019 14:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Tradista Joins Eclipse Foundation]]></title>
+      <link><![CDATA[https://globenewswire.com/news-release/2019/01/10/1685988/0/en/Tradista-Joins-Eclipse-Foundation.html]]></link>
+      <description><![CDATA[Tradista will contribute to the Jakarta EE project, bringing its long experience in the Java EE platform applied to the financial sector.]]></description>
+      <pubDate>Thu, 10 Jan 2019 08:35:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Development Process 2018]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/eclipse-development-process-2018]]></link>
+      <description><![CDATA[In December 7/2018, the Eclipse Foundation's Board of Directors approved a new edition of the Eclipse Development Process (EDP) which introduces one particularly significant change, along with a small number of other useful changes.]]></description>
+      <pubDate>Wed, 19 Dec 2018 09:35:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Drives $9 Billion in Open Source Innovation]]></title>
+      <link><![CDATA[https://globenewswire.com/news-release/2018/12/18/1668576/0/en/Eclipse-Foundation-Drives-9-Billion-in-Open-Source-Innovation.html]]></link>
+      <description><![CDATA[Global open source foundation finishes 2018 with 360+ open source projects, 162+ million lines of code written and more than 275 sponsor members]]></description>
+      <pubDate>Wed, 19 Dec 2018 09:35:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>    
+    <item>
+      <title><![CDATA[Read the newest Jakarta EE Newsletter!]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/november/]]></link>
+      <description><![CDATA[This month we bring you a fully loaded Jakarta EE newsletter with a mix of technical content, community news, and a tutorial!]]></description>
+      <pubDate>Fri, 30 Nov 2018 09:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Specification Process, Part III: Creation]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/eclipse-foundation-specification-process-part-iii-creation]]></link>
+      <description><![CDATA[Creation' is an integral part of the Eclipse Foundation Specification Process. Read Wayne Beaton's newest blog on the topic.]]></description>
+      <pubDate>Fri, 30 Nov 2018 09:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[How is the Eclipse Foundation Specification Process (EFSP) different from Java Community Process (JCP)?]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/how-eclipse-foundation-specification-process-efsp-different-java-community]]></link>
+      <description><![CDATA[There are many differences between Eclipse Foundation Specification Process (EFSP) and Java Community Process (JCP), let's focus on my top 5!]]></description>
+      <pubDate>Tue, 27 Nov 2018 12:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Specification Process, Part II: the EFSP]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/eclipse-foundation-specification-process-part-ii-efsp]]></link>
+      <description><![CDATA[The Eclipse Foundation Specification Process defines a general framework for developing specifications in open source at the Eclipse Foundation.]]></description>
+      <pubDate>Tue, 27 Nov 2018 12:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Specification Process, Part I: The EDP]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/wayne-beaton/eclipse-foundation-specification-process-part-i-edp]]></link>
+      <description><![CDATA[A quick Eclipse Development Process (EDP) primer.]]></description>
+      <pubDate>Thu, 08 Nov 2018 11:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Hosted Services Privacy and Acceptable Usage Policy]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/christopher-guindon/eclipse-foundation-hosted-services-privacy-and-acceptable-usage-policy]]></link>
+      <description><![CDATA[The Eclipse Foundation recently made available a new policy to make sure that our projects and hosted services are compliant with the General Data Protection Regulation (GDPR).]]></description>
+      <pubDate>Thu, 08 Nov 2018 11:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Updating Contributor and Committer Agreements]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/mike-milinkovich/new-eclipse-foundation-committer-and-contributor-agreements]]></link>
+      <description><![CDATA[See Mike Milinkovich's blog explaining the upcoming changes to these agreements and what steps are being taken to implement the update]]></description>
+      <pubDate>Mon, 05 Nov 2018 14:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Publishes MicroProfile eBook]]></title>
+      <link><![CDATA[http://globenewswire.ca/news-release/2018/11/05/1644913/0/en/Eclipse-Foundation-Publishes-MicroProfile-eBook.html]]></link>
+      <description><![CDATA[15 page executive guide sets context for enterprises evaluating MicroProfile & enterprise Java microservices for digital transformation]]></description>
+      <pubDate>Mon, 05 Nov 2018 11:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Participate in the 2018 Eclipse Foundation Brand Survey]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/participate-2018-eclipse-foundation-brand-survey]]></link>
+      <description><![CDATA[We are excited to launch the 2018 edition of our brand survey!]]></description>
+      <pubDate>Mon, 05 Nov 2018 10:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Case Study: How Bosch Is Succeeding with Open Source at Eclipse IoT]]></title>
+      <link><![CDATA[https://mmilinkov.wordpress.com/2018/10/02/how-bosch-is-succeeding-with-open-source/]]></link>
+      <description><![CDATA[How is it that a 150-year-old, 400,000 employee industrial conglomerate is competing and winning in the rapidly involving IoT software industry?]]></description>
+      <pubDate>Tue, 02 Oct 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse CBI - Common Build Infrastructure changes]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/denis-roy/eclipse-cbi-common-build-infrastructure-changes]]></link>
+      <description><![CDATA[The Eclipse CBI, which traces its roots back to 2006, has undergone some important changes recently, including a new Kubernetes+Docker-powered environment at https://jenkins.eclipse.org that re announced previously.]]></description>
+      <pubDate>Fri, 28 Sep 2018 15:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+     <title><![CDATA[Eclipse Foundation and Cloud Native Computing Foundation Collaborate to Grow Kubernetes Use Cases in Trillion Dollar IoT Market]]></title>
+      <link><![CDATA[https://globenewswire.com/news-release/2018/09/26/1576651/0/en/Eclipse-Foundation-and-Cloud-Native-Computing-Foundation-Collaborate-to-Grow-Kubernetes-Use-Cases-in-Trillion-Dollar-IoT-Market.html]]></link>
+      <description><![CDATA[Red Hat and other Eclipse IoT members will collaborate in working group to extend capabilities of Kubernetes for IoT Edge use cases.]]></description>
+      <pubDate>Thu, 27 Sep 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+    <title><![CDATA[K8s at the Edge - Some Context on the New Kubernetes IoT Working Group]]></title>
+      <link><![CDATA[http://bit.ly/2Du9i4p]]></link>
+      <description><![CDATA[The Eclipse Foundation is excited to be part of today's announcement of a new Kubernetes IoT Edge Working Group.]]></description>
+      <pubDate>Wed, 26 Sep 2018 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+    <title><![CDATA[Welcoming GlassFish to the Eclipse Foundation]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/tanja-obradovic/welcoming-glassfish-eclipse-foundation]]></link>
+      <description><![CDATA[A major milestone was achieved yesterday! The GlassFish code from Oracle made its home in the Eclipse Foundation's Git repositories, starting a new era of Eclipse GlassFish. ]]></description>
+      <pubDate>Wed, 19 Sep 2018 14:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+    <title><![CDATA[An $8.7 Billion Shared Investment: Sizing the Economic Value of Eclipse Community Collaboration]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/87-billion-shared-investment-sizing-economic-value-eclipse-community]]></link>
+      <description><![CDATA[What is the value of the code contributed by the Eclipse community? We estimate that the roughly 162 million total physical source lines of code in Eclipse repositories represent a $8.7 billion USD shared technology investment by our community.]]></description>
+      <pubDate>Thu, 13 Sep 2018 09:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+    <title><![CDATA[Mizuho International Joins Eclipse Foundation]]></title>
+      <link><![CDATA[http://www.globenewswire.com/news-release/2018/09/11/1569175/0/en/Mizuho-International-Joins-Eclipse-Foundation.html]]></link>
+      <description><![CDATA[Mizuho International, the securities & investment banking arm of the Mizuho Financial Group, has joined the Eclipse Foundation.]]></description>
+      <pubDate>Tue, 11 Sep 2018 14:55:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+   <item>
+    <title><![CDATA[How many lines of Open Source code are hosted at the Eclipse Foundation?]]></title>
+      <link><![CDATA[https://blog.benjamin-cabe.com/2018/09/04/how-many-lines-of-open-source-code-are-hosted-at-the-eclipse-foundation]]></link>
+      <description><![CDATA[As of August 1st, there are 330 active open-source projects and 1120 Git repositories, as for lines of code... ]]></description>
+      <pubDate>Wed, 05 Sep 2018 09:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Talk with your team about EclipseCon Europe 2018]]></title>
+      <link><![CDATA[https://eclipsecon.org/europe2018]]></link>
+      <description><![CDATA[Review the program - talks, keynotes and special events - and register by October 1 for the best rates!]]></description>
+      <pubDate>Tue, 04 Sep 2018 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Welcomes 16 New Members As Jakarta EE and Eclipse IoT Developer Communities Surge]]></title>
+      <link><![CDATA[https://globenewswire.com/news-release/2018/08/29/1558325/0/en/Eclipse-Foundation-Welcomes-16-New-Members-As-Jakarta-EE-and-Eclipse-IoT-Developer-Communities-Surge.html]]></link>
+      <description><![CDATA[Today, the Eclipse Foundation announced the addition of 16 new members.]]></description>
+      <pubDate>Wed, 29 Aug 2018 15:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation and IBM Partner to Help Fight Natural Disasters in New Global Open Source Software Initiative]]></title>
+      <link><![CDATA[http://www.globenewswire.com/news-release/2018/08/21/1554460/0/en/Eclipse-Foundation-and-IBM-Partner-to-Help-Fight-Natural-Disasters-in-New-Global-Open-Source-Software-Initiative.html]]></link>
+      <description><![CDATA[OSS developers are encouraged to create solutions that help communities improve disaster preparedness & recovery.]]></description>
+      <pubDate>Tue, 21 Aug 2018 14:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[We Are Open]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/we-are-open]]></link>
+      <description><![CDATA[We Are Open campaign provides a peek into Eclipse community's openness, innovation, and collaboration.]]></description>
+      <pubDate>Thu, 02 Aug 2018 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Foundation Announces Jakarta EE Committee Election Results]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20180731-jakartaEE_committee_election.php]]></link>
+      <description><![CDATA[The results are in for Participant and Committer Member elections for representatives to the Jakarta EE Working Group!]]></description>
+      <pubDate>Tue, 31 Jul 2018 09:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Embedded Development]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/july/]]></link>
+      <description><![CDATA[This month's newsletter features five articles that focus on Embedded Development. Read it now.]]></description>
+      <pubDate>Thu, 26 Jul 2018 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse IoT Day Singapore Announced]]></title>
+      <link><![CDATA[https://iot.eclipse.org/eclipse-iot-day-singapore-2018/]]></link>
+      <description><![CDATA[The very first Eclipse IoT Day Singapore will take place Sept. 18 in co-location with IoT World Asia 2018.]]></description>
+      <pubDate>Tue, 24 Jul 2018 06:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[New Working Group and Charter at the Eclipse Foundation: OpenMobility]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/workinggroups/openmobility_charter.php]]></link>
+      <description><![CDATA[OpenMobility will drive the evolution and broad adoption of mobility modelling and simulation technologies.]]></description>
+      <pubDate>Fri, 20 Jul 2018 12:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Call for submissions for EclipseCon Europe 2018]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2018]]></link>
+      <description><![CDATA[Be part of the EclipseCon Europe program. Submit your talks by July 16th.]]></description>
+      <pubDate>Fri, 06 Jul 2018 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Foundation Annual Community Report]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/foundation/reports/2018_annual_report.php]]></link>
+      <description><![CDATA[The Eclipse Foundation's 2018 Annual Community Report has been published, and is now available.]]></description>
+      <pubDate>Tue, 03 Jul 2018 15:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Eclipse Photon]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/june/]]></link>
+      <description><![CDATA[Naturally, this issue of the newsletter features some of the things that are new in Eclipse Photon!]]></description>
+      <pubDate>Tue, 03 Jul 2018 12:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Take Your Code to the Next Level With Eclipse Photon]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/take-your-code-next-level-eclipse-photon]]></link>
+      <description><![CDATA[Join over 4 million active users of the Eclipse IDE and take your coding to the next level with Eclipse Photon.]]></description>
+      <pubDate>Thu, 28 June 2018 12:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[New Photon Release of Eclipse IDE Ships With Full Rust Support]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20180627_new-photon-release-of-eclipse-ide-ships-with-full-rust-support.php]]></link>
+      <description><![CDATA[The Eclipse Foundation today announced the Eclipse Photon simultaneous release.]]></description>
+      <pubDate>Wed, 27 June 2018 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter - A First Look at Jakarta EE]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/may/]]></link>
+      <description><![CDATA[This month, read eight great pieces to get informed about various parts of Jakarta EE.]]></description>
+      <pubDate>Mon, 04 June 2018 05:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[RC2 now available for Eclipse Photon]]></title>
+      <link><![CDATA[https://www.eclipse.org/downloads/index-developer.php]]></link>
+      <description><![CDATA[Download and test release candidate 2 for Eclipse Photon!]]></description>
+      <pubDate>Fri, 01 June 2018 11:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Updates to our Privacy Policy]]></title>
+      <link><![CDATA[https://blogs.eclipse.org/post/thabang-mashologu/updates-our-privacy-policy]]></link>
+      <description><![CDATA[The Eclipse Foundation has updated it's privacy policy for the protection of your personal data.]]></description>
+      <pubDate>Fri, 25 May 2018 10:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon Europe 2018 Call for Papers]]></title>
+      <link><![CDATA[http://www.eclipsecon.org/europe2018]]></link>
+      <description><![CDATA[Review the CFP, talk with your team and submit your talks today!]]></description>
+      <pubDate>Mon, 14 May 2018 13:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[New Proposed Charter for OS.bea Working Group]]></title>
+      <link><![CDATA[https://eclipse.org/org/workinggroups/osbea_wg_charter.php]]></link>
+      <description><![CDATA[New proposed charter for OS.bea Working Group is ready for review. Paticipate by adding feedback on the mailing-list.]]></description>
+      <pubDate>Mon, 14 May 2018 13:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Common Build Infrastructure: Upcoming Changes]]></title>
+      <link><![CDATA[https://www.youtube.com/watch?v=nvzqdQmw9gY&feature=youtu.be]]></link>
+      <description><![CDATA[Eclipse CBI is undergoing important changes, including Kubernetes/ Docker via Red Hat OpenShift & CloudBees Jenkins Enterprise.]]></description>
+      <pubDate>Thu, 10 May 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter - Java Tools and Runtimes]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/april/]]></link>
+      <description><![CDATA[This month, read all about Eclipse projects: Collections, JNoSQL, MicroProfile, OpenJ9, and Vert.x]]></description>
+      <pubDate>Fri, 04 May 2018 05:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon France 2018: Register Early!]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/france2018/registration]]></link>
+      <description><![CDATA[Prices go up after April 30, so register now.]]></description>
+      <pubDate>Wed, 25 Apr 2018 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Survey of 1800+ developers now released on new Jakarta EE website]]></title>
+      <link><![CDATA[https://jakarta.ee/news/2018/04/24/jakarta-ee-community-survey/]]></link>
+      <description><![CDATA[Survey of 1,800+ Java developers reveals "cloud native" top requirement in platform's evolution.]]></description>
+      <pubDate>Tue, 24 Apr 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[IoT Developer Survey 2018 | Results are in!]]></title>
+      <link><![CDATA[https://blog.benjamin-cabe.com/2018/04/17/key-trends-iot-developer-survey-2018]]></link>
+      <description><![CDATA[Results from the IoT Developer Survey are in! Read about the key findings about IoT cloud platforms, databases, security, and more.]]></description>
+      <pubDate>Tue, 17 Apr 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Oxygen 3A has been released!]]></title>
+      <link><![CDATA[https://www.eclipse.org/downloads/packages/release/oxygen/3a]]></link>
+      <description><![CDATA[Download the Oxygen 3A packages today.]]></description>
+      <pubDate>Thu, 12 Apr 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Winners of Open IoT Challenge 4.0 Demonstrate How Open Source Accelerates Innovation]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20180404_iotchallenge_winners2018.php]]></link>
+      <description><![CDATA[Eclipse IoT is pleased to announce the winners of the fourth annual Open IoT Challenge!]]></description>
+      <pubDate>Wed, 04 Apr 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon France 2018 Program Announced]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/france2018/program/sessions/accepted]]></link>
+      <description><![CDATA[See the list of accepted sessions, and register now for the lowest price. We'll see you June 13 - 14 in Toulouse.]]></description>
+      <pubDate>Tue, 03 Apr 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Voting for the Jakarta EE logo is now open!]]></title>
+      <link><![CDATA[https://docs.google.com/forms/d/e/1FAIpQLSdRcnQs2PHRFOsx0k_wGgvvYg1r8Vss44eIsgjjWDGOfQ8e4A/viewform]]></link>
+      <description><![CDATA[Voting will be conducted using a ranked poll. To vote, simply rank the final shortlist of logos in order of preference.]]></description>
+      <pubDate>Thu, 29 Mar 2018 17:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Three days left to complete the Jakarta EE Survey!]]></title>
+      <link><![CDATA[https://www.surveymonkey.com/r/jakartaec]]></link>
+      <description><![CDATA[One week left to share your insights on Java EE and help shape the future of Jakarta EE.]]></description>
+      <pubDate>Tue, 27 Mar 2018 07:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Code in Different Languages]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/march/]]></link>
+      <description><![CDATA[Read what's new in the Eclipse JDT Language Server and Eclipse PDT (PHP), then learn about Eclipse Xtext and Eclipse Mita (IoT).]]></description>
+      <pubDate>Thu, 22 Mar 2018 04:13:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Complete the Jakarta EE Developer Survey]]></title>
+      <link><![CDATA[https://www.surveymonkey.com/r/jakartaec]]></link>
+      <description><![CDATA[Share your insights on Java EE and help shape the future of Jakarta EE.]]></description>
+      <pubDate>Thu, 16 Mar 2018 06:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse IoT Day Santa Clara | Speakers Announced]]></title>
+      <link><![CDATA[https://iot.eclipse.org/eclipse-iot-day-santa-clara-2018/]]></link>
+      <description><![CDATA[We're pleased to announce the speakers for the Eclipse IoT Day Santa Clara, co-located with IoT World 2018 on May 14.]]></description>
+      <pubDate>Thu, 15 Mar 2018 07:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Last call for EclipseCon France submissions]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/france2018/cfp]]></link>
+      <description><![CDATA[Deadline to propose a talk is Monday, March 19. Get your talk in now for your chance to be part of a great program!]]></description>
+      <pubDate>Mon, 12 Mar 2018 16:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Foundation supports EU funded Brain-IoT Project]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20180312-brainiot.php]]></link>
+      <description><![CDATA[Eclipse Foundation Europe Selected to Provide Open Source Community Building Expertise for EU funded IoT Research Project]]></description>
+      <pubDate>Mon, 12 Mar 2018 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Foundation Announces 2018 Board Member Election Results]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20180307-boardelectionresults2018.php]]></link>
+      <description><![CDATA[Today we are please to announce the results of the Eclipse Foundation Sustaining Member and Committer Member elections.]]></description>
+      <pubDate>Wed, 07 Mar 2018 18:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[From Java EE to Jakarta EE]]></title>
+      <link><![CDATA[https://mmilinkov.wordpress.com/2018/02/26/and-the-name-is/]]></link>
+      <description><![CDATA[We are happy to announce that the new name for the technology formerly known as Java EE is... Jakarta EE!]]></description>
+      <pubDate>Mon, 26 Feb 2018 14:50:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Boot & Build Eclipse Projects]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/february/]]></link>
+      <description><![CDATA[Featuring articles about Spring Tools, Gradle plugin (Buildship), Dirigible cloud platform, and EMF Parsley.]]></description>
+      <pubDate>Thu, 22 Feb 2018 3:51:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Countdown: 2 weeks | Complete IoT Developer Survey]]></title>
+      <link><![CDATA[https://www.surveymonkey.de/r/eclipseorg]]></link>
+      <description><![CDATA[Take 10 minutes to complete the fourth annual IoT Developer survey!]]></description>
+      <pubDate>Tue, 20 Feb 2018 4:27:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[EclipseCon France 2018 | Call for Papers]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/france2018]]></link>
+      <description><![CDATA[Call for paper submissions are now open until March 19. We'll see you June 13 - 14 in Toulouse!]]></description>
+      <pubDate>Mon, 12 Feb 2018 09:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[EE.next working group | Community review process]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/workinggroups/]]></link>
+      <description><![CDATA[Announcing the EE.next working group to support the EE4J projects. Join the review process of the charter.]]></description>
+      <pubDate>Wed, 06 Feb 2018 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Last Week to Submit for FOSS4G NA 2018!]]></title>
+      <link><![CDATA[https://2018.foss4g-na.org/cfp]]></link>
+      <description><![CDATA[Submissions close Feb 8, so propose your talk now for FOSS4G NA 2018, May 14-16 in St. Louis]]></description>
+      <pubDate>Fri, 02 Feb 2018 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Newsletter | Coming in 2018]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2018/january/]]></link>
+      <description><![CDATA[What's coming to the Eclipse Community in 2018? Read the newsletter to find out!]]></description>
+      <pubDate>Wed, 25 Jan 2018 10:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Launching IoT Developer Survey 2018]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/iotdevsurvey2018.php]]></link>
+      <description><![CDATA[We are pleased to launch the fourth annual IoT Developer Survey! Complete the survey today.]]></description>
+      <pubDate>Wed, 24 Jan 2018 4:27:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse IoT Day Santa Clara 2018 | Call for Papers]]></title>
+      <link><![CDATA[https://iot.eclipse.org/eclipse-iot-day-santa-clara-2018/]]></link>
+      <description><![CDATA[We're happy to announce the Eclipse IoT Day Santa Clara, taking place May 14, in co-location with IoT World 2018.]]></description>
+      <pubDate>Mon, 15 Jan 2018 9:15:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Capella: open source MBSE solution]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/december/]]></link>
+      <description><![CDATA[Learn everything about Capella, an open source workbench that allows engineers to design complex systems.]]></description>
+      <pubDate>Thu, 14 Dec 2017 10:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Open Source Community Accelerates Big Data Analytics for Geospatial Solutions]]></title>
+      <link><![CDATA[https://eclipse.org/org/press-release/20171214_locationtechopensource.php]]></link>
+      <description><![CDATA[LocationTech announces new project releases that provide core technology for geospatial big data analytic solutions.]]></description>
+      <pubDate>Thu, 14 Dec 2017 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Announcing Open IoT Challenge 4.0 Scholars]]></title>
+      <link><![CDATA[https://medium.com/@roxanne.iot/open-iot-challenge-4-0-scholars-cf750ec3b14b]]></link>
+      <description><![CDATA[Congratulations to the Top 12 teams who submitted the best proposals for the fourth Open IoT Challenge!]]></description>
+      <pubDate>Wed, 13 Dec 2017 09:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Location Matters]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/november/]]></link>
+      <description><![CDATA[This newsletter is everything geospacial (LocationTech) + a featured article about creating video games.]]></description>
+      <pubDate>Wed, 22 Nov 2017 06:23:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Open IoT Challenge 4.0 | Extended Deadline Nov 20]]></title>
+      <link><![CDATA[http://iot.eclipse.org/open-iot-challenge/]]></link>
+      <description><![CDATA[One last week to submit your open IoT solution idea. You can then work on it until March 15. Submit now!]]></description>
+      <pubDate>Wed, 15 Nov 2017 05:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon + Ludwigsburg = Great Partners]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2017/news/eclipsecon-ludwigsburg-great-partners]]></link>
+      <description><![CDATA[We are pleased to announce a strategic partnership between the Eclipse Foundation Europe and the City of Ludwigsburg that keeps EclipseCon Europe at the Forum am Schlosspark through 2019.]]></description>
+      <pubDate>Sun, 22 Oct 2017 08:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[New Industry 4.0 Open Testbed Addresses Performance Monitoring and Management in Manufacturing]]></title>
+      <link><![CDATA[https://eclipse.org/org/press-release/20171019_industry40_testbed.php]]></link>
+      <description><![CDATA[Bosch Software Innovations, CONTACT Software, Eurotech, fortiss GmbH, and InfluxData collaborate to demonstrate Product Performance Management.]]></description>
+      <pubDate>Thu, 19 Oct 2017 11:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Science Advances Open Source Technology for Scientific Research]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20171018_scienceopensource.php]]></link>
+      <description><![CDATA[The Eclipse Science Working Group, a working group of the Eclipse Foundation, today announced the new releases of five open source projects used by the scientific research community.]]></description>
+      <pubDate>Wed, 18 Oct 2017 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Newsletter | Utility Belt: Projects and Tools]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/october/]]></link>
+      <description><![CDATA[Learn about JUnit 5, e4 on JavaFX, scripting with EASE, embedded tools and Eclipse CDT, Ferret search tool, and software ethics.]]></description>
+      <pubDate>Wed, 18 Oct 2017 05:02:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[On Naming Eclipse Enterprise for Java (EE4J)]]></title>
+      <link><![CDATA[https://mmilinkov.wordpress.com/2017/09/30/on-naming/]]></link>
+      <description><![CDATA[What is EE4J? Will it become the brand that replaces Java EE? Read the blog post to find out.]]></description>
+      <pubDate>Wed, 04 Oct 2017 08:48:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon Europe: Last Chance for the Early Price]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2017/registration]]></link>
+      <description><![CDATA[October 5 is the last day to save &euro;100 on ECE registration.]]></description>
+      <pubDate>Tue, 03 Oct 2017 11:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Annual Donation Campaign: End User Support for the Eclipse Foundation]]></title>
+      <link><![CDATA[https://ianskerrett.wordpress.com/2017/09/29/annual-donation-campaign-end-user-support-for-the-eclipse-foundation/]]></link>
+      <description><![CDATA[To encourage end-user support,  we are launching the October Donation Campaign. The goal is to have over 1000 individuals donate to the Eclipse Foundation and help support the overall community.]]></description>
+      <pubDate>Fri, 29 Sep 2017 11:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse IoT Announces Fourth Edition of the Open IoT Challenge]]></title>
+      <link><![CDATA[https://eclipse.org/org/press-release/20170928_open_iot_challenge_4.php]]></link>
+      <description><![CDATA[IoT enthusiast? This Challenge is for you! Submit your IoT solution proposal by November 13.]]></description>
+      <pubDate>Thu, 28 Sep 2017 09:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse IDE Now Supports Java 9]]></title>
+      <link><![CDATA[https://waynebeaton.wordpress.com/2017/09/22/java-9-support-for-eclipse-ide-oxygen-edition/]]></link>
+      <description><![CDATA[Java 9 has been released into the world and support to make your Eclipse IDE ready to build, run, and debug Java 9 applications is available from the Eclipse Marketplace.]]></description>
+      <pubDate>Tue, 26 Sep 2017 14:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Special Notice for Eclipse IDE Users on macOS 10.13 in non-English mode]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20170925criticalbug.php]]></link>
+      <description><![CDATA[When Eclipse is launched on macOS 10.13 and user's primary language is not set to English, all the menu items in the main menubar are disabled. However, Context menus are not disabled]]></description>
+      <pubDate>Mon, 25 Sep 2017 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Get the Early Price for EclipseCon Europe]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2017/registration]]></link>
+      <description><![CDATA[Register now and save €100! Prices go up after October 5.]]></description>
+      <pubDate>Thu, 21 Sep 2017 08:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Eclipse MicroProfile]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/september/]]></link>
+      <description><![CDATA[In the September issue of the Eclipse Newsletter, discover everything you need to know about Eclipse MicroProfile.]]></description>
+      <pubDate>Wed, 20 Sep 2017 10:30:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Java EE Moves to the Eclipse Foundation]]></title>
+      <link><![CDATA[https://mmilinkov.wordpress.com/2017/09/12/java-ee-moves-to-the-eclipse-foundation/]]></link>
+      <description><![CDATA[Oracle announced today that they, along with IBM and Red Hat, will be moving Java EE to the Eclipse Foundation.]]></description>
+      <pubDate>Tue, 12 Sep 2017 17:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[First Release of Eclipse Papyrus for Real Time: Modeling Tool for UML-RT]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20170907papyrus.php]]></link>
+      <description><![CDATA[The Papyrus Industry Consortium, an Eclipse Foundation Working Group, is pleased to announce the release of Eclipse Papyrus for Real Time v1.0 (Papyrus-RT) a fully open source modeling tool intended for teams working on the design and implementation of embedded reactive systems.]]></description>
+      <pubDate>Thu, 07 Sep 2017 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item>
+     <item>
+      <title><![CDATA[Eclipse Public License Version 2.0 Approved By OSI and Eclipse Foundation Board of Directors]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20170829eplv2.php]]></link>
+      <description><![CDATA[The Eclipse Foundation is pleased to announce a new version 2 of the Eclipse Public License (EPL v2) has been approved by the Eclipse Foundation Board of Directors and the Open Source Initiative (OSI).]]></description>
+      <pubDate>Tue, 29 Aug 2017 14:20:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Exciting New Eclipse Projects]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/august/]]></link>
+      <description><![CDATA[The latest newsletter is all about new and exciting projects!]]></description>
+      <pubDate>Tue, 22 Aug 2017 09:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>
+    <item>
+      <title><![CDATA[EclipseCon Europe: Schedule and Keynotes]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2017]]></link>
+      <description><![CDATA[The keynotes are announced, and the schedule is on line for ECE 2017. Register now!]]></description>
+      <pubDate>Mon, 21 Aug 2017 10:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item>     
+    <item>
+      <title><![CDATA[Launching Eclipse IoT Newsletter]]></title>
+      <link><![CDATA[http://eepurl.com/cYn4-n]]></link>
+      <description><![CDATA[We're lauching a quarterly Eclipse IoT Newsletter. Subscribe to receive the first issue this September.]]></description>
+      <pubDate>Fri, 18 Aug 2017 05:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Eclipse IoT Day @ ThingMonk]]></title>
+      <link><![CDATA[http://thingmonk.com/eclipse-day-talks.html]]></link>
+      <description><![CDATA[Register for the Eclipse IoT Day co-located with ThingMonk on September 11 in London, UK.]]></description>
+      <pubDate>Thu, 17 Aug 2017 08:55:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Potential adware plugin on Eclipse Marketplace - Eclipse Class Decompiler]]></title>
+      <link><![CDATA[https://eclipse.org/org/press-release/20170814_security_bulletin.php]]></link>
+      <description><![CDATA[A listing on Eclipse Marketplace, called Eclipse Class Decompiler, contains binary code that could be used for adware and could potentially download files to Eclipse workspaces.]]></description>
+      <pubDate>Mon, 14 Aug 2017 10:40:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Summer Issue]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/july/]]></link>
+      <description><![CDATA[The latest Eclipse Newsletter is now available. Read it and learn how to try out Java 9 Support for Eclipse Oxygen!]]></description>
+      <pubDate>Tue, 25 Jul 2017 10:05:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[EclipseCon Europe 2017 | Submissions Close in One Week]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2017/]]></link>
+      <description><![CDATA[There’s still time until July 17th, to get your submission in for this year’s EclipseCon Europe in Ludwigsburg Germany.]]></description>
+      <pubDate>Mon, 10 Jul 2017 09:05:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Eclipse Oxygen Now Available]]></title>
+      <link><![CDATA[https://www.eclipse.org/oxygen]]></link>
+      <description><![CDATA[We're proud to announce the arrival of Eclipse Oxygen, the 12th annual simultaneous release from the Eclipse Community. DOWNLOAD NOW!]]></description>
+      <pubDate>Wed, 28 Jun 2017 10:05:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Eclipse Newsletter | Eclipse Oxygen]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/june/]]></link>
+      <description><![CDATA[Find out more about the latest Eclipse Simultaneous Release in the June issue of the Eclipse Newsletter!]]></description>
+      <pubDate>Wed, 28 Jun 2017 10:26:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+      <item>
+      <title><![CDATA[Early Submission Deadline for EclipseCon Europe 2017]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2017/cfp]]></link>
+      <description><![CDATA[Submit your talks by June 30 to be selected for featuring in the early promotion. October 24-26 in Ludwigsburg Germany.]]></description>
+      <pubDate>Mon, 26 Jun 2017 22:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Capella Industry Consortium (IC) Announced at PolarSys]]></title>
+      <link><![CDATA[https://www.polarsys.org/capella-ic-announced]]></link>
+      <description><![CDATA[Capella IC to host the Capella Ecosystem stakeholders in a vendor neutral way, organized by an open governance model.]]></description>
+      <pubDate>Tue, 20 Jun 2017 04:00:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[RC3 Available for Eclipse Oxygen | Download Now]]></title>
+      <link><![CDATA[https://www.eclipse.org/downloads/index-developer.php]]></link>
+      <description><![CDATA[Download and test release candidate 3 for Eclipse Oxygen!]]></description>
+      <pubDate>Mon, 12 Jun 2017 15:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Last Chance to Register for EclipseCon France 2017]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/france2017/registration]]></link>
+      <description><![CDATA[Sign up for learning at EclipseCon France, June 21-22. XText, Capella, Science, Docker, LSP and much more!]]></description>
+      <pubDate>Thu, 08 Jun 2017 10:45:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Eclipse Newsletter - Language Server Protocol 101]]></title>
+      <link><![CDATA[https://www.eclipse.org/community/eclipse_newsletter/2017/may/]]></link>
+      <description><![CDATA[Everything you need to know about the Language Server Procotol (aka LSP) is in this month's newsletter!]]></description>
+      <pubDate>Wed, 24 May 2017 05:35:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[It’s time to organise Eclipse Oxygen DemoCamps]]></title>
+      <link><![CDATA[http://blog.ttoine.net/en/2017/05/23/its-time-to-organise-eclipse-oxygen-democamps/]]></link>
+      <description><![CDATA[What is an Eclipse DemoCamp and why should I organise one?]]></description>
+      <pubDate>Tue, 23 May 2017 04:35:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[Case Study: Deploying Eclipse IoT on Germany's DB Railway System]]></title>
+      <link><![CDATA[https://iot.eclipse.org/resources/case-studies/Eclipse%20IoT%20Success%20Story%20-%20DB.pdf]]></link>
+      <description><![CDATA[We worked with Deutsche Bahn (DB) to find out how they use Eclipse IoT technology on their railway system!]]></description>
+      <pubDate>Thu, 18 May 2017 04:55:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[EclipseCon Europe 2017 | Call for Papers Open]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/europe2017/news/its-time-submit]]></link>
+      <description><![CDATA[Submissions are now open for EclipseCon Europe 2017, October 24 - 26, in Ludwigsburg, Germany.]]></description>
+      <pubDate>Wed, 17 May 2017 09:29:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+       <item>
+      <title><![CDATA[Program Ready for EclipseCon France 2017]]></title>
+      <link><![CDATA[https://www.eclipsecon.org/france2017/conference/schedule/session/2017-06-21]]></link>
+      <description><![CDATA[See the program, and register by May 12 for the best price.]]></description>
+      <pubDate>Thu, 27 Apr 2017 17:10:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>0</pressrelease>
+    </item> 
+    <item>
+      <title><![CDATA[New Eclipse IoT Open Testbeds]]></title>
+      <link><![CDATA[https://www.eclipse.org/org/press-release/20170426_iottestbeds.php]]></link>
+      <description><![CDATA[Announcing the creation of the Eclipse IoT Open Testbeds, an initiative to drive adoption of IoT open source and open standards.]]></description>
+      <pubDate>Thu, 27 Apr 2017 09:05:00 EST</pubDate>
+      <category>news</category>
+      <pressrelease>1</pressrelease>
+    </item> 
+  </channel>
+</rss>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.recommenders.news.impl/downloads/http%3A%2F%2Fwww.eclipse.org%2Frecommenders%2Ffeeds%2Fide.rss b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.recommenders.news.impl/downloads/http%3A%2F%2Fwww.eclipse.org%2Frecommenders%2Ffeeds%2Fide.rss
new file mode 100644
index 0000000..c7f299b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.recommenders.news.impl/downloads/http%3A%2F%2Fwww.eclipse.org%2Frecommenders%2Ffeeds%2Fide.rss
@@ -0,0 +1,313 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- Google Tag Manager -->
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
+<!-- End Google Tag Manager -->    <meta name="author" content="Webmaster"/>
+    <meta name="keywords" content="Archived, old, closed, suspended, shutdown, closed"/>
+    <link rel="shortcut icon" href="/eclipse.org-common/themes/solstice/public/images/favicon.ico"/>
+    <title>Archived Projects | The Eclipse Foundation</title>
+    <link rel="preconnect stylesheet" href="/eclipse.org-common/themes/solstice/public/stylesheets/quicksilver.min.css?v0.172"/>
+<meta name="description" content="The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks."/>
+<meta property="og:description" content="The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks."/>
+<meta property="og:image" content="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-200x200.png"/>
+<meta property="og:title" content="Archived Projects | The Eclipse Foundation"/>
+<meta property="og:image:width" content="200"/>
+<meta property="og:image:height" content="200"/>
+<meta itemprop="name" content="Archived Projects | The Eclipse Foundation"/>
+<meta itemprop="description" content="The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks."/>
+<meta itemprop="image" content="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-400x400.png"/>
+<meta name="twitter:site" content="@EclipseFdn"/>
+<meta name="twitter:card" content="summary"/>
+<meta name="twitter:title" content="Archived Projects | The Eclipse Foundation"/>
+<meta name="twitter:url" content="http://www.eclipse.org/projects/archives.php"/>
+<meta name="twitter:description" content="The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks."/>
+<meta name="twitter:image" content="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-400x400.png"/>
+<link href="https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="preconnect stylesheet" type="text/css"/>
+    <script> var eclipse_org_common = {"settings":{"cookies_class":{"name":"eclipse_settings","enabled":1}}}</script>  </head>
+  <body id="body_solstice">
+    <!-- Google Tag Manager (noscript) -->
+<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5WLCZXC"
+height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
+<!-- End Google Tag Manager (noscript) -->    <a class="sr-only" href="#content">Skip to main content</a>
+    <header class="header-wrapper" id="header-wrapper">
+      <div class="clearfix toolbar-container-wrapper">
+      <div class="container">
+        <div class="text-right toolbar-row row hidden-print">
+          <div class="col-md-24 row-toolbar-col">
+            <ul class="list-inline">
+              <li><a class="toolbar-link" href="https://accounts.eclipse.org/user/login/?takemeback=http%3A%2F%2Fwww.eclipse.org%2Fprojects%2Farchives.php"><i class="fa fa-sign-in"></i> Log in</a></li>
+              <li><a class="toolbar-link toolbar-manage-cookies dropdown-toggle"><i class="fa fa-wrench"></i> Manage Cookies</a></li>
+            </ul>
+          </div>
+          
+        </div>
+      </div>
+    </div>  <div class="container">
+    <div class="row" id="header-row">
+            <div class="col-sm-5 col-md-4" id="header-left">
+        <div class="wrapper-logo-default"><a href="http://www.eclipse.org/"><img class="logo-eclipse-default hidden-xs" alt="Eclipse.org logo" width="160" src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-white-orange.svg"/></a></div>
+      </div>            <div class="col-sm-19 col-md-20 margin-top-10" id="main-menu-wrapper">
+      <div class="float-right hidden-xs" id="btn-call-for-action"><a href="/downloads/" class="btn btn-huge btn-warning"><i class="fa fa-download"></i> Download</a></div>    <div class="navbar yamm float-sm-right" id="main-menu">
+    <div class="navbar-collapse collapse" id="navbar-main-menu">
+      <ul class="nav navbar-nav">
+        <li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li><li><a href="http://www.eclipse.org/org/workinggroups/" target="_self">Working Groups</a></li><li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>                  <li class="dropdown visible-xs"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Community <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="http://www.eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li><li><a href="https://blogs.eclipse.org">Blogs</a></li></ul></li><li class="dropdown visible-xs"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Participate <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="http://www.eclipse.org/forums/">Forums</a></li><li><a href="http://www.eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://www.eclipse.org/org/research/">Research</a></li></ul></li><li class="dropdown visible-xs"><a href="#" data-toggle="dropdown" class="dropdown-toggle">Eclipse IDE <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://www.eclipse.org/downloads">Download</a></li><li><a href="http://www.eclipse.org/eclipseide">Learn More</a></li><li><a href="https://help.eclipse.org">Documentation</a></li><li><a href="http://www.eclipse.org/getting_started">Getting Started / Support</a></li><li><a href="http://www.eclipse.org/contribute/">How to Contribute</a></li><li><a href="http://www.eclipse.org/ide/">IDE and Tools</a></li><li><a href="https://www.eclipse.org/forums/index.php/f/89/">Newcomer Forum</a></li></ul></li>          <!-- More -->
+          <li class="dropdown eclipse-more hidden-xs">
+            <a data-toggle="dropdown" class="dropdown-toggle" role="button">More<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+              <li>
+                <!-- Content container to add padding -->
+                <div class="yamm-content">
+                  <div class="row">
+                    <ul class="col-sm-8 list-unstyled"><li><p><strong>Community</strong></p></li><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="http://www.eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li><li><a href="https://blogs.eclipse.org">Blogs</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Participate</strong></p></li><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="http://www.eclipse.org/forums/">Forums</a></li><li><a href="http://www.eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://www.eclipse.org/org/research/">Research</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Eclipse IDE</strong></p></li><li><a href="http://www.eclipse.org/downloads">Download</a></li><li><a href="http://www.eclipse.org/eclipseide">Learn More</a></li><li><a href="https://help.eclipse.org">Documentation</a></li><li><a href="http://www.eclipse.org/getting_started">Getting Started / Support</a></li><li><a href="http://www.eclipse.org/contribute/">How to Contribute</a></li><li><a href="http://www.eclipse.org/ide/">IDE and Tools</a></li><li><a href="https://www.eclipse.org/forums/index.php/f/89/">Newcomer Forum</a></li></ul>                  </div>
+                </div>
+              </li>
+            </ul>
+          </li>
+                
+      </ul>
+    </div>
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-main-menu">
+      <span class="sr-only">Toggle navigation</span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+      </button>
+      <div class="wrapper-logo-mobile"><a class="navbar-brand visible-xs" href="http://www.eclipse.org/"><img class="logo-eclipse-default-mobile img-responsive" alt="Eclipse.org logo" width="160" src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-white-orange.svg"/></a></div>    </div>
+  </div>
+</div>
+    </div>
+  </div>
+  </header>
+          <section class="default-breadcrumbs hidden-print breadcrumbs-default-margin" id="breadcrumb">
+      <div class="container">
+        <h3 class="sr-only">Breadcrumbs</h3>
+        <div class="row">
+          <div class="col-sm-24"><ol class="breadcrumb"><li><a href="/">Home</a></li><li><a href="http://www.eclipse.org/projects">Projects</a></li><li class="active">Archived Projects</li></ol></div>
+        </div>
+      </div>
+    </section> <!-- /#breadcrumb -->
+      <main id="content">
+        <div class="novaContent container" id="novaContent">
+          <div class="row"><div class="col-md-18 main-col-content">	 
+
+    <div id="midcolumn">
+	  <h2>Archived Eclipse Projects</h2>
+      <p> You are seeing this because the project you were looking for has been archived.  When projects are archived their data(downloads,source and website), is collected into a single tar.gz file.</p>  
+      <p><h4>Please note: Some projects did not have all of the above data.</h4></p>
+      <p><h4>Please note: The source files (if available) included in these files are direct copies of the available CVS/SVN data.  You will need to load them into a local CVS/SVN repository to access the history.</h4></p>
+      <p><h4>Please note: Some of these archives are larger than 3GB</h4></p>
+      
+      <div id="homeitem">
+        </br>
+        <p><a href="http://archive.eclipse.org/archived_projects/alf.tgz">ALF</a> project.  Archived: January 2009</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/albireo.tgz">Albireo</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/am3.tgz">AM3</a> project.  Archived: November 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/antenna.tgz">Antenna</a> project.  Archived: February 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/apricot.tgz">Apricot</a> project.  Archived: August 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/apogee.tgz">Apogee</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/atf.tgz">ATF</a> project.  Archived: May 2020</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/athena.tgz">Athena</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/amw.tgz">AMW</a> project.  Archived: March 2015</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/blinki.tgz" alt="DSDP Blinki Archive" >DSDP Blinki</a> project. Archived: October 2010.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/bpmn.tgz">BPMN</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/buckminster.tgz">Buckminster</a> project.  Archived: February 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/cdtk.tgz">CDTK</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/cme-project.tar.gz">CME</a> project.  Archived: January 2006</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/corona.tgz">Corona</a> project.  Archived: April 2010</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/cosmos.tgz">Cosmos</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/cobol.tgz">Cobol</a> project.  Archived: February 2010</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/damos.tgz">Damos</a> project.  Archived: February 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/dd.tgz" alt="DSDP DD Archive" >DSDP DD</a> project. Archived: October 2010.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/dsdp.tgz" alt="DSDP Archive" >DSDP</a> project. Archived: September 2011.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/doc2model.tgz" alt="Doc2Model Archive" >Doc2Model</a> project. Archived: January 2015.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/eatop.tgz">Modeling EATop</a> project.  Archived: March 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/edje.tgz">IOT Edje</a> project.  Archived: November 2018</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/esl.tgz">ESL</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/emfindex.tgz">EMFindex</a> project.  Archived: July 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ercp.tgz">ERCP</a> project.  Archived: December 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/examples.tgz">Examples</a> project.  Archived: January 2014</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/emf-facet.tgz">EMF Facet</a> project.  Archived: May 2020</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/featuremodel.tgz">Featuremodel</a> project.  Archived: March 2015</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/flux.tgz">Flux</a> project.  Archived: February 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/fproj.tgz">Fproj</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ganomatic.tgz">Ganomatic</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/gems.tgz">Gems</a> project.  Archived: January 2015</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/geobench.tgz">GeoBench</a> project.  Archived: March 2021</p>
+        <p><a href="http://archive.locationtech.org/archived_projects/geoff.tgz">Geoff</a> project.  Archived: May 2017</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/glimmer.tgz">Glimmer</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/g-eclipse.tgz">g-Eclipse</a> project.  Archived: January 2014</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/gef3d.tgz">GEF 3D</a> project.  Archived: March 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/gyrex.tgz">gyrex</a> project.  Archived: March 2018</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/hibachi.tgz">Hibachi</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/hip.tgz">Hip</a> project.  Archived: August 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/hudson.tgz">Hudson</a> project.  Archived: February 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/iam.tgz">Iam</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/incquery.tgz">Incquery</a> project.  Archived: February 2016</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/imm.tgz">IMM</a> project.  Archived: January 2015</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ide4edu.tgz">IDE4EDU</a> project.  Archived: January 2014</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/imp.tgz">Imp</a> project.  Archived: January 2014</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/java-ee-config.tgz">Java-ee-config</a> project.  Archived: July 2018</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/jcrm.tgz" alt="JCRM archive" >JCRM</a> project. Archived: July 2013.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/jet.tgz" alt="JET archive" >JET</a> project. Archived: May 2020.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/js4emf.tgz" alt="Js4emf archive" >Js4emf</a> project. Archived: January 2015.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/kiso-project.tar.gz">Koi</a> project.  Archived: July 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/koi-project.tar.gz">Koi</a> project.  Archived: April 2006</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/koneki.tgz">Koneki</a> project.  Archived: September 2015</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/kepler.tgz">Kepler</a> project.  Archived: July 2008</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/krikkit.tgz">Krikkit</a> project.  Archived: October 2017</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/laszlo-project.tar.gz">Laszlo</a> project.  Archived: December 2006</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/lepido-project.tar.gz">Lepido</a> project.  Archived: June 2006</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/maynstall.tgz">Maynstall</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/mddi-archive.tar.gz" alt="MDDi Archive" >MDDi</a> project. Archived: August 2008.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/mihini.tgz">Mihini</a> project.  Archived: September 2015</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/mint.tgz" alt="Mint archive" >Mint</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/modeling.mdt.eodm.tgz" alt="MDT.EODM Archive" >MDT EODM</a> project. Archived: October 2008.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/modeling.pmf.tgz" alt="modeling PMF Archive" >Modeling PMF</a> project. Archived: September 2019.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/mofscript.tgz" alt="Mofscript archive" >Mofscript</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/mst.tgz" alt="MST archive" >MDT MST</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/mtf.tgz" alt="MTF archive" >MTF</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/mxf.tgz" alt="MXF archive" >MXF</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/nab.tgz" alt="DSDP Nab Archive" >DSDP Nab</a> project. Archived: October 2010.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/emf4net.tgz" alt="EMF4Net archive" >EMF4Net</a> project. Archived: January 2015.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/net4j.tgz" alt="Net4J archive" >Net4J</a> project. Archived: June 2010.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ohf.tgz">OHF</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ofmp.tgz">OFMP</a> project.  Archived: January 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/omelet-project.tar.gz">OMELET</a> project.  Archived: August 2005</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ormf.tgz">Ormf</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/package-drone.tgz">Package-drone</a> project.  Archived: March 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/papyrus-xtuml.tgz">Papyrus-xtuml</a> project.  Archived: September 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/pave.tgz">Pave</a> project.  Archived: December 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/phoenix.tgz">Phoenix</a> project.  Archived: February 2013 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/picasso.tgz">Picasso</a> project.  Archived: May 2019 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/pmf.tgz" alt="PMF archive" >PMF</a> project. Archived: January 2013.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/pollinate-project.tar.gz">Polinate</a> project.  Archived: December 2005</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ponte.tgz">Ponte</a> project.  Archived: March 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/query2.tgz" alt="Query2 archive" >EMF Query2</a> project. Archived: May 2013.</p>
+        <p><a href="http://archive.locationtech.org/archived_projects/raster.tgz">Raster</a> project.  Archived: January 2018</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/rat.tgz">Rat</a> project.  Archived: May 2012</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/recommenders.tgz">Recommenders</a> project.  Archived: July 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/recommenders.incubator.tgz">Recommenders incubator</a> project.  Archived: October 2019 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/remus.tgz">Remus</a> project.  Archived: May 2020</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/risev2g.tgz">Risev2g</a> project.  Archived: January 2019</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/rtp.tgz">Packaging RTP</a> project.  Archived: March 2021</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/sbvr.tgz" alt="SBVR archive" >SBVR</a> project. Archived: July 2013.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/scada.tgz" alt="SCADA archive" >SCADA</a> project. Archived: March 2021.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/sdo.tgz" alt="EMFT SDO archive" >SDO</a> project. Archived: July 2013.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/servus.tgz" alt="Servus archive" >Servus</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/search.tgz" alt="EMFT Search archive" >Search</a> project. Archived: July 2013.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/sketch.tgz" alt="Sketch archive" >Sketch</a> project. Archived: January 2014.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/soc.tgz">SOC</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/spaces.tgz">Spaces</a> project.  Archived: January 2011</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/scalamodules.tgz">Scalamodules</a> project.  Archived: July 2010</p> 
+        <p><a href="http://archive.eclipse.org/archived_projects/smarthome.tgz">Smarthome</a> project.  Archived: May 2020</p> 
+        <p><a href="http://archive.eclipse.org/archived_projects/stellation-project.tar.gz">Stellation</a> project.  Archived: June 2005 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/stardust.tgz">Stardust</a> project.  Archived: November 2017 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/stp.tgz">STP</a> project.  Archived: September 2012 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/swordfish.tgz">Swordfish</a> project.  Archived: January 2014 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/tcs.tgz" alt="TCS archive" >TCS</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/temporality.tgz" alt="Temporality archive" >Temporality</a> project. Archived: November 2012.</p>
+        <p><a href="http://archive.eclipse.org/archived_projects/tmw.tgz">TMW</a> project.  Archived: March 2012 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/tptp.monitoring.tgz">TPTP Monitoring</a> project.  Archived: June 2010 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/tptp.tgz">TPTP</a> project.  Archived: May 2016  </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/triquetrum.tgz">Triquetrum</a> project.  Archived: Oct 2021  </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/umlgen.tgz">UMLGen</a> project.  Archived: March 2021 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/umlx.tgz">Umlx</a> project.  Archived: December 2012 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ufacekit.tgz">UFacekit</a> project.  Archived: March 2014 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/ve.tgz">Visual editor</a> project.  Archived: June 2011 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/vtp.tgz">Voice Tools</a> project.  Archived: May 2016 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/whiskers.tgz">Whiskers</a> project.  Archived: January 2019 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/woolsey.tgz">Woolsey</a> project.  Archived: December 2012 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/wtp.datatools.tgz">WTP Datatools</a> project.  Archived: February 2013 </p>
+        <p><a href="http://archive.eclipse.org/archived_projects/xtend.tgz">Xtend</a> project.  Archived: June 2013 </p>          	  
+	  </div>
+	</div>
+	
+</div><div class="col-md-6 main-col-sidebar-nav">  <!-- nav -->
+  <aside class="main-sidebar-default-margin" id="main-sidebar">
+    
+    <ul class="ul-left-nav fa-ul hidden-print" id="leftnav" role="tablist" aria-multiselectable="true">
+                                                  <li>
+                <i class="fa fa-caret-right fa-fw"></i>
+                <a href="http://www.eclipse.org">Home</a>
+              </li>
+                      
+                                                          <li>
+                <i class="fa fa-caret-right fa-fw"></i>
+                <a href="http://wiki.eclipse.org">Wiki</a>
+              </li>
+                      
+                  </ul>
+      </aside>
+  </div></div>
+        </div>
+      </main><p id="back-to-top">
+  <a class="visible-xs" href="#top">Back to the top</a>
+</p>
+  <div class="eclipsefdn-featured-story featured-footer" data-publish-target="eclipse_org"><div class="container featured-container"></div></div><footer id="solstice-footer">
+    <div class="container">
+    <div class="row">
+      <section class="col-sm-6 hidden-print" id="footer-eclipse-foundation">
+            <h2 class="section-title">Eclipse Foundation</h2>
+    <ul class="nav"><li><a href="http://www.eclipse.org/org/">About Us</a></li><li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact Us</a></li><li><a href="http://www.eclipse.org/donate">Donate</a></li><li><a href="http://www.eclipse.org/membership/">Members</a></li><li><a href="http://www.eclipse.org/org/documents/">Governance</a></li><li><a href="http://www.eclipse.org/org/documents/Community_Code_of_Conduct.php">Code of Conduct</a></li><li><a href="http://www.eclipse.org/artwork/">Logo and Artwork</a></li><li><a href="http://www.eclipse.org/org/foundation/directors.php">Board of Directors</a></li></ul>      </section>
+      <section class="col-sm-6 hidden-print" id="footer-legal">
+            <h2 class="section-title">Legal</h2>
+    <ul class="nav"><li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li><li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li><li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li><li><a href="http://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li><li><a href="http://www.eclipse.org/legal/">Legal Resources</a></li></ul>      </section>
+      <section class="col-sm-6 hidden-print" id="footer-useful-links">
+            <h2 class="section-title">Useful Links</h2>
+    <ul class="nav"><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="//help.eclipse.org/">Documentation</a></li><li><a href="http://www.eclipse.org/contribute/">How to Contribute</a></li><li><a href="http://www.eclipse.org/mail/">Mailing Lists</a></li><li><a href="http://www.eclipse.org/forums/">Forums</a></li><li><a href="//marketplace.eclipse.org">Marketplace</a></li></ul>      </section>
+      <section class="col-sm-6 hidden-print" id="footer-other">
+            <h2 class="section-title">Other</h2>
+    <ul class="nav"><li><a href="http://www.eclipse.org/ide/">IDE and Tools</a></li><li><a href="http://www.eclipse.org/projects">Projects</a></li><li><a href="http://www.eclipse.org/org/workinggroups/">Working Groups</a></li><li><a href="http://www.eclipse.org/org/research/">Research@Eclipse</a></li><li><a href="http://www.eclipse.org/security/">Report a Vulnerability</a></li><li><a href="https://status.eclipse.org">Service Status</a></li></ul>      </section>
+            <div class="col-sm-24 margin-top-20">
+        <div class="row">
+          <div id="copyright" class="col-md-16">
+            <p id="copyright-text">Copyright &copy; Eclipse Foundation. All Rights Reserved.</p>
+          </div>
+          <div class="col-md-8 social-media">
+            <ul class="list-inline">
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://twitter.com/EclipseFdn" aria-label="Eclipse Foundation Twitter profile">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-twitter fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.facebook.com/eclipse.org" aria-label="Eclipse Foundation Facebook page">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-facebook fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.youtube.com/user/EclipseFdn" aria-label="Eclipse Foundation YouTube channel">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-youtube fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.linkedin.com/company/eclipse-foundation" aria-label="Eclipse Foundation Linkedin profile">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-linkedin fa-stack-1x"></i>
+                </a>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>      <a href="#" class="scrollup">Back to the top</a>
+    </div>
+  </div>
+</footer>
+<!-- Placed at the end of the document so the pages load faster -->
+<script src="/eclipse.org-common/themes/solstice/public/javascript/main.min.js?var=0.0.172"></script>
+
+</body>
+</html>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.rse.core/.log b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.rse.core/.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.rse.core/.log
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.search/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.search/dialog_settings.xml
new file mode 100644
index 0000000..d73994e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.search/dialog_settings.xml
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="SearchDialog.ScopePart">
+		<item value="0" key="scope"/>
+	</section>
+	<section name="">
+		<item value="1000" key="org.eclipse.search.resultpage.limit"/>
+	</section>
+	<section name="">
+		<item value="1000" key="org.eclipse.search.resultpage.limit"/>
+	</section>
+	<section name="TextSearchPage">
+		<item value="12" key="HISTORY_SIZE"/>
+		<item value="false" key="CASE_SENSITIVE"/>
+		<item value="false" key="REG_EX_SEARCH"/>
+		<item value="false" key="WHOLE_WORD"/>
+		<item value="false" key="SEARCH_DERIVED"/>
+		<item value="false" key="SEARCH_IN_BINARIES"/>
+		<section name="HISTORY6">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="System.out" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY7">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="checkPath" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY4">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="rewriteSubQuery" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY10">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="traverse_and_rewrite_KoralQuery" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY5">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="rewriteObjNode" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="EXTENSIONS">
+			<item value="*.java" key="0"/>
+		</section>
+		<section name="HISTORY11">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="traverseJsonTree" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY8">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="init_ConstantFromProperties" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY9">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="Wformm" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY2">
+			<item value="false" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="INSERT" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY3">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="rein aus" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY0">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="setAutoCommit" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+		<section name="HISTORY1">
+			<item value="true" key="ignoreCase"/>
+			<item value="0" key="scope"/>
+			<item value="false" key="isWholeWord"/>
+			<item value="autocommit" key="textPattern"/>
+			<item value="false" key="isRegExSearch"/>
+			<list key="fileNamePatterns">
+				<item value="*.java"/>
+			</list>
+			<list key="workingSets">
+			</list>
+		</section>
+	</section>
+	<section name="org.eclipse.search.text.FileSearchResultPage">
+		<item value="1000" key="org.eclipse.search.resultpage.limit"/>
+	</section>
+	<section name="Search">
+		<list key="Search.processedPageIds">
+			<item value="org.eclipse.search.internal.ui.text.TextSearchPage"/>
+			<item value="org.eclipse.mylyn.tasks.ui.search.page"/>
+			<item value="org.eclipse.egit.ui.commitSearchPage"/>
+			<item value="org.eclipse.jdt.ui.JavaSearchPage"/>
+			<item value="org.eclipse.wst.jsdt.ui.JavaSearchPage"/>
+		</list>
+		<list key="Search.enabledPageIds">
+			<item value="org.eclipse.search.internal.ui.text.TextSearchPage"/>
+			<item value="org.eclipse.mylyn.tasks.ui.search.page"/>
+			<item value="org.eclipse.egit.ui.commitSearchPage"/>
+			<item value="org.eclipse.jdt.ui.JavaSearchPage"/>
+			<item value="org.eclipse.wst.jsdt.ui.JavaSearchPage"/>
+		</list>
+	</section>
+	<section name="SearchDialog">
+		<item value="org.eclipse.search.internal.ui.text.TextSearchPage" key="PREVIOUS_PAGE"/>
+	</section>
+	<section name="org.eclipse.jdt.ui.JavaSearchResultPage">
+		<item value="1000" key="org.eclipse.jdt.search.resultpage.limit"/>
+		<item value="TRUE" key="org.eclipse.jdt.search.resultpage.limit_enabled"/>
+	</section>
+	<section name="DialogBounds_SearchDialog">
+		<item value="513" key="DIALOG_WIDTH"/>
+		<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
+		<item value="462" key="DIALOG_HEIGHT"/>
+		<item value="715" key="DIALOG_X_ORIGIN"/>
+		<item value="220" key="DIALOG_Y_ORIGIN"/>
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml
new file mode 100644
index 0000000..5ca0b77
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml
new file mode 100644
index 0000000..2ca1ee8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<list key="org.eclipse.ui.internal.wizards.datatransfer.SmartImportRootWizardPage.knownSources">
+		<item value="C:\myIDS\Daten\KorAP\Services\Project-Tests"/>
+		<item value="C:\myIDS\Daten\KorAP\Services\GlemmServices"/>
+		<item value="F:\Daten\wsp-KorAP-Services\GlemmServices\.settings"/>
+	</list>
+	<section name="CleanDialogSettings">
+		<item value="500" key="DIALOG_WIDTH"/>
+		<item value="true" key="BUILD_ALL"/>
+		<item value="false" key="TOGGLE_SELECTED"/>
+		<item value="465" key="DIALOG_HEIGHT"/>
+		<item value="694" key="DIALOG_X_ORIGIN"/>
+		<item value="210" key="DIALOG_Y_ORIGIN"/>
+		<item value="true" key="BUILD_NOW"/>
+	</section>
+	<section name="ExternalProjectImportWizard">
+		<item value="false" key="WizardProjectsImportPage.STORE_NESTED_PROJECTS"/>
+		<item value="false" key="WizardProjectsImportPage.STORE_COPY_PROJECT_ID"/>
+		<item value="false" key="WizardProjectsImportPage.STORE_ARCHIVE_SELECTED"/>
+		<list key="WizardProjectsImportPage.STORE_DIRECTORIES">
+			<item value="C:\myIDS\Daten\KorAP\Services\GlemmClient"/>
+			<item value="C:\myIDS\Daten\KorAP\Project-Tests"/>
+			<item value="C:\myIDS\Daten\KorAP\GlemmServices"/>
+			<item value="F:\Daten\wsp-KorAP-Services\glemm"/>
+		</list>
+		<list key="WizardProjectsImportPage.STORE_ARCHIVES">
+			<item value=""/>
+		</list>
+	</section>
+	<section name="ResourceNavigator">
+		<item value="Aggregate for window 1573558008367" key="ResourceWorkingSetFilter.STORE_WORKING_SET"/>
+		<item value="1" key="ResourceViewer.STORE_SORT_TYPE"/>
+	</section>
+	<section name="WORKBENCH_SETTINGS">
+		<list key="ENABLED_TRANSFERS">
+		</list>
+	</section>
+	<section name="org.eclipse.ui.internal.ide.dialogs.ProjectContentsLocationArea">
+		<item value="C:\myIDS\Daten\KorAP\Services-0.1" key="OUTSIDE_LOCATION"/>
+	</section>
+	<section name="NewWizardAction">
+		<item value="org.eclipse.jdt.ui.wizards.JavaProjectWizard" key="NewWizardSelectionPage.STORE_SELECTED_ID"/>
+		<list key="NewWizardSelectionPage.STORE_EXPANDED_CATEGORIES_ID">
+			<item value="org.eclipse.jdt.ui.java"/>
+		</list>
+	</section>
+	<section name="ChooseWorkspaceDialogSettings">
+		<item value="658" key="DIALOG_X_ORIGIN"/>
+		<item value="279" key="DIALOG_Y_ORIGIN"/>
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml
new file mode 100644
index 0000000..f118f02
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<item value="1024" key="introLaunchBar.location"/>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.intro/introstate b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.intro/introstate
new file mode 100644
index 0000000..236d56c
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.intro/introstate
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<state reopen="true"/>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
new file mode 100644
index 0000000..2668702
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="org.eclipse.ui.texteditor.FindReplaceDialog">
+		<item value="false" key="isRegEx"/>
+		<item value="return" key="selection"/>
+		<item value="false" key="casesensitive"/>
+		<item value="false" key="incremental"/>
+		<item value="true" key="wrap"/>
+		<item value="false" key="wholeword"/>
+		<list key="findhistory">
+			<item value="return"/>
+			<item value="MaxLemmaSize"/>
+			<item value="fnameScript"/>
+			<item value="doGlem"/>
+			<item value="INSERT"/>
+			<item value="derbyDBURL"/>
+			<item value="fnameDB"/>
+			<item value="list"/>
+			<item value="lilst"/>
+			<item value="formatDbName"/>
+			<item value="responseContentLat1"/>
+			<item value="new String"/>
+			<item value="checkPath"/>
+			<item value="hide"/>
+			<item value="rewriteSubQuery"/>
+		</list>
+		<list key="replacehistory">
+			<item value="fout"/>
+			<item value="WordformServices.f"/>
+			<item value="WformServices.f"/>
+			<item value="GlemmServices.f"/>
+		</list>
+	</section>
+	<section name="org.eclipse.ui.texteditor.FindReplaceDialog_dialogBounds">
+		<item value="284" key="DIALOG_WIDTH"/>
+		<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
+		<item value="391" key="DIALOG_HEIGHT"/>
+		<item value="1120" key="DIALOG_X_ORIGIN"/>
+		<item value="332" key="DIALOG_Y_ORIGIN"/>
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
new file mode 100644
index 0000000..b145f7e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="WorkbenchPreferenceDialogSettings">
+		<item value="498" key="DIALOG_X_ORIGIN"/>
+		<item value="129" key="DIALOG_Y_ORIGIN"/>
+	</section>
+	<section name="org.eclipse.ui.internal.QuickAccess">
+		<item value="-1" key="dialogHeight"/>
+		<item value="-1" key="dialogWidth"/>
+		<list key="textEntries">
+		</list>
+		<list key="orderedElements">
+		</list>
+		<list key="orderedProviders">
+		</list>
+		<list key="textArray">
+		</list>
+	</section>
+	<section name="NewWizardAction">
+		<item value="org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard" key="NewWizardSelectionPage.STORE_SELECTED_ID"/>
+		<list key="NewWizardSelectionPage.STORE_EXPANDED_CATEGORIES_ID">
+			<item value="org.eclipse.jdt.ui.java"/>
+			<item value="org.eclipse.wst.web.ui"/>
+		</list>
+	</section>
+	<section name="ImportExportAction">
+		<item value="org.eclipse.m2e.core.wizards.Maven2ImportWizard" key="ImportExportPage.STORE_SELECTED_IMPORT_WIZARD_ID"/>
+		<list key="ImportExportPage.STORE_EXPANDED_IMPORT_CATEGORIES">
+			<item value="org.eclipse.ui.Basic"/>
+			<item value="org.eclipse.m2e"/>
+		</list>
+	</section>
+	<section name="FileSystemImportWizard">
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
new file mode 100644
index 0000000..bde2a99
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workingSetManager>
+<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1573557997285_0" label="Java Main Sources" name="main">
+<item elementID="=GLEMM-Services/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=Guest/src" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+</workingSet>
+<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1573557997301_1" label="Java Test Sources" name="test"/>
+<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1573558008367_2" label="Window Working Set" name="Aggregate for window 1573558008367"/>
+</workingSetManager>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.common.modulecore/dependencyCache.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.common.modulecore/dependencyCache.index
new file mode 100644
index 0000000..914e24a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.common.modulecore/dependencyCache.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.common.project.facet.core/prefs.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.common.project.facet.core/prefs.xml
new file mode 100644
index 0000000..6a6b91a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.common.project.facet.core/prefs.xml
@@ -0,0 +1,9 @@
+<root>
+  <facet id="jst.jaxrs">
+    <node name="libprov">
+      <node name="last-provider-used">
+        <attribute name="2.1" value="jaxrs-no-op-library-provider"/>
+      </node>
+    </node>
+  </facet>
+</root>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml
new file mode 100644
index 0000000..6574033
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.internet.cache/cache.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><cache/>
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps
new file mode 100644
index 0000000..6a885e2
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1446037707.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1446037707.index
new file mode 100644
index 0000000..d1f41bd
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1446037707.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1505151291.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1505151291.index
new file mode 100644
index 0000000..2bf8c71
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1505151291.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1983060498.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1983060498.index
new file mode 100644
index 0000000..620173a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/1983060498.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2291222520.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2291222520.index
new file mode 100644
index 0000000..0cfd0c7
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2291222520.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2664282242.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2664282242.index
new file mode 100644
index 0000000..a214dd8
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2664282242.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2943851965.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2943851965.index
new file mode 100644
index 0000000..620173a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/2943851965.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/618490688.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/618490688.index
new file mode 100644
index 0000000..d60fbf6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/618490688.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/savedIndexNames.txt b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/savedIndexNames.txt
new file mode 100644
index 0000000..6ff08c5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/indexes/savedIndexNames.txt
@@ -0,0 +1,8 @@
+INDEX VERSION 1.4+C:\myIDS\Daten\KorAP\Services-0.1\wsp-KorAP-Services\.metadata\.plugins\org.eclipse.wst.jsdt.core\indexes
+2664282242.index
+1505151291.index
+2291222520.index
+618490688.index
+1983060498.index
+1446037707.index
+2943851965.index
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js
new file mode 100644
index 0000000..2fc99ea
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js
@@ -0,0 +1,5393 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2013 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+/**
+ * Object DOMException()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Object
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Object
+ */
+function DOMException(){};
+DOMException.prototype = new Object();
+/**
+ * Constant DOMException.INDEX_SIZE_ERR=1
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.          
+ */
+DOMException.INDEX_SIZE_ERR=1;
+/**
+ * Constant DOMException.DOMSTRING_SIZE_ERR=2
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.         
+ */
+DOMException.DOMSTRING_SIZE_ERR=2;
+/**
+ * Constant DOMException.HIERARCHY_REQUEST_ERR=3
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.           
+ */
+DOMException.HIERARCHY_REQUEST_ERR=3;
+/**
+ * Constant DOMException.WRONG_DOCUMENT_ERR=4
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.         
+ */
+DOMException.WRONG_DOCUMENT_ERR=4;
+/**
+ * Constant DOMException.INVALID_CHARACTER_ERR=5
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.          
+ */
+DOMException.INVALID_CHARACTER_ERR=5;
+/**
+ * Constant DOMException.NO_DATA_ALLOWED_ER=6
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.         
+ */
+DOMException.NO_DATA_ALLOWED_ER=6;
+/**
+ * Constant DOMException.NO_MODIFICATION_ALLOWED_ERR=7
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.         
+ */
+DOMException.NO_MODIFICATION_ALLOWED_ERR=7;
+/**
+ * Constant DOMException.NOT_FOUND_ERR=8
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.          
+ */
+DOMException.NOT_FOUND_ERR=8;
+/**
+ * Constant DOMException.NOT_SUPPORTED_ERR=9
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.        
+ */
+DOMException.NOT_SUPPORTED_ERR=9;
+/**
+ * Constant DOMException.INUSE_ATTRIBUTE_ERR=10
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.         
+ */
+DOMException.INUSE_ATTRIBUTE_ERR=10;
+/**
+ * Constant DOMException.INVALID_STATE_ERR=11
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.         
+ */
+DOMException.INVALID_STATE_ERR=11;
+/**
+ * Constant DOMException.SYNTAX_ERR=12
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.        
+ */
+DOMException.SYNTAX_ERR=12;
+/**
+ * Constant DOMException.INVALID_MODIFICATION_ER=13
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.           
+ */
+DOMException.INVALID_MODIFICATION_ER=13;
+/**
+ * Constant DOMException.NAMESPACE_ERR=14
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.          
+ */
+DOMException.NAMESPACE_ERR=14;
+/**
+ * Constant DOMException.NVALID_ACCESS_ERR=15
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.         
+ */
+DOMException.INVALID_ACCESS_ERR=15;
+/**
+  * Property code
+  * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+  * 
+  * @type Number
+  * @since Standard ECMA-262 3rd. Edition 
+  * @since Level 2 Document Object Model Core Definition.   
+  */
+DOMException.prototype.code=0;
+
+/**
+ * Object DOMImplementation()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @augments Object
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see   Object     
+ */
+function DOMImplementation(){};
+DOMImplementation.prototype = new Object();
+/**
+ * function hasFeature(feature, version)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} feature
+ * @param {String} version
+ * @returns {Boolean}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition. 
+ */ 
+DOMImplementation.prototype.hasFeature = function(feature, version){return false;};
+/**
+ * function createDocumentType(qualifiedName, publicId, systemId)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} qualifiedName
+ * @param {String} publicId
+ * @param {String} systemId
+ * @returns {DocumentType}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see DocumentType
+ */ 
+DOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId){return new DocumentType();};
+/**
+ * function createDocument(namespaceURI, qualifiedName, doctype)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} namespaceURI
+ * @param {String} qualifiedName
+ * @param {DocumentType} doctype
+ * @returns {Document}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Document
+ */ 
+DOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype){return new HTMLDocument();}; 
+
+/**
+ * Object DocumentFragment()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see   Node    
+ */
+function DocumentFragment(){};
+DocumentFragment.prototype=new Node(); 
+
+/**
+ * Object Document()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node  
+ */ 
+function Document(){};
+Document.prototype = new Node();
+/**
+ * Property defaultView
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type  Window
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Window  
+ */ 
+Document.prototype.defaultView = new Window(); 
+/**
+ * Property doctype
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type  DocumentType
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see DocumentType   
+ */ 
+Document.prototype.doctype = new DocumentType(); 
+/**
+ * Property implementation
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *  
+ * @type   DOMImplementation
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see DOMImplementation
+ */ 
+Document.prototype.implementation = new DOMImplementation();
+/**
+ * Property documentElement 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type   Element
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.    
+ * @see Element
+ */ 
+Document.prototype.documentElement= new HTMLElement(); 
+/**
+ * Property styleSheets
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type   Array
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Document.prototype.styleSheets= new Array(); 
+/**
+ * function createElement(tagName)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} tagName
+ * @returns {Element}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.  
+ * @see Element  
+ */  
+Document.prototype.createElement=function(tagName){return new HTMLElement();}; 
+/**
+ * function createDocumentFragment()  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @returns {DocumentFragment}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition. 
+ * @see DocumentFragment 
+ */ 
+Document.prototype.createDocumentFragment=function(){return new DocumentFragment();}; 
+/**
+ * function createTextNode(data)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} data
+ * @returns {Text}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.  
+ * @see Text 
+ */ 
+Document.prototype.createTextNode=function(data){return new Text();}; 
+/**
+ * function createComment(data)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} data
+ * @returns {Comment}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition. 
+ * @see Comment   
+ */ 
+Document.prototype.createComment=function(data){return new Comment();}; 
+/**
+ * function createCDATASection(data)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @param {String} data
+ * @returns {CDATASection}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see CDATASection     
+ */
+Document.prototype.createCDATASection=function(data){}; 
+/**
+ * function createProcessingInstruction(target, data) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type ProcessingInstruction
+ * @param {String} target
+ * @param {String} data
+ * @returns {ProcessingInstruction}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see ProcessingInstruction      
+*/
+Document.prototype.createProcessingInstruction=function(target, data){return new ProcessingInstruction();}; 
+/**
+ * function createAttribute(name) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *  
+ * @param {String} name
+ * @returns {Attr}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Attr   
+ */
+Document.prototype.createAttribute=function(name){return new Attr();}; 
+/**
+ * function createEntityReference(name) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @param {String} name
+ * @returns {EntityReference}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see EntityReference     
+ */
+Document.prototype.createEntityReference=function(name){return new EntityReference();}; 
+/**
+ * function getElementsByTagName(tagname)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} tagname
+ * @returns {NodeList}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see NodeList     
+ */
+Document.prototype.getElementsByTagName=function(tagname){return new NodeList();}; 
+/**
+ * function importNode(importedNode, deep)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *  
+ * @param {Node} importedNode
+ * @param {Boolean} deep
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node        
+ */
+Document.prototype.importNode=function(importedNode, deep){return new Node();}; 
+/**
+ * function createElementNS(namespaceURI, qualifiedName) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} namespaceURI
+ * @param {String} qualifiedName
+ * @returns {Element}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Element        
+ */
+Document.prototype.createElementNS=function(namespaceURI, qualifiedName){return new HTMLElement();}; 
+/**
+ * function createEvent(String eventType) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} eventType
+ * @returns {Object}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Element        
+ */
+Document.prototype.createEvent=function(eventType){return new Object();}; 
+/**
+ * function createAttributeNS(namespaceURI, qualifiedName)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} namespaceURI
+ * @param {String} qualifiedName
+ * @returns {Attr}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see  Attr       
+ */
+Document.prototype.createAttributeNS=function(namespaceURI, qualifiedName){return new Attr();}; 
+/**
+ * function getElementsByTagNameNS(namespaceURI, localName)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @returns {NodeList}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see  NodeList       
+ */
+Document.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; 
+/**
+ * function getElementById(elementId)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} elementId
+ * @returns {Element}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Element         
+ */ 
+Document.prototype.getElementById=function(elementId){return new HTMLElement();};
+
+/**
+ * Object Node()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Object
+ * @constructor
+ * @memberOf Node
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see EventTarget    
+ */
+function Node(){};
+Node.prototype=new EventTarget(); 
+/**
+ * Constant Node.ELEMENT_NODE=1
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.ELEMENT_NODE=1; 
+/**
+ * Constant Node.ATTRIBUTE_NODE=2
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.ATTRIBUTE_NODE=2;
+/**
+ * Constant Node.TEXT_NODE=3
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.TEXT_NODE=3;
+/**
+ * Constant Node.CDATA_SECTION_NODE=4
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.CDATA_SECTION_NODE=4; 
+/**
+ * Constant Node.ENTITY_REFERENCE_NODE=5
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.ENTITY_REFERENCE_NODE=5; 
+/**
+ * Constant Node.ENTITY_NODE=6
+ * @type Number
+ * @memberOf Node
+ * @see Node 
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+
+ * @see    http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html     
+*/
+Node.ENTITY_NODE=6;
+/**
+ * Constant Node.PROCESSING_INSTRUCTION_NODE=7
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.PROCESSING_INSTRUCTION_NODE=7; 
+/**
+ * Constant Node.COMMENT_NODE=8
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.COMMENT_NODE=8;
+/**
+ * Constant Node.DOCUMENT_NODE=9
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.DOCUMENT_NODE=9;
+/**
+ * Constant Node.DOCUMENT_TYPE_NODE=10
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.DOCUMENT_TYPE_NODE=10; 
+/**
+ * Constant Node.DOCUMENT_FRAGMENT_NODE=11
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.DOCUMENT_FRAGMENT_NODE=11; 
+/**
+ * Constant Node.NOTATION_NODE=12
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @constant
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+Node.NOTATION_NODE=12;
+/**
+ * Property nodeName
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.  
+ */ 
+Node.prototype.nodeName = ""; 
+/**
+ * Property nodeValue
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type String
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Node.prototype.nodeValue = ""; 
+/**
+ * Property nodeType
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */  
+Node.prototype.nodeType = 0; 
+/**
+ * Property parentNode 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type Node
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */  
+Node.prototype.parentNode=new Node(); 
+/**
+ * Property childNodes 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html  
+ *  
+ * @type NodeList
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see NodeList    
+*/ 
+Node.prototype.childNodes=new NodeList(); 
+/**
+ * Property firstChild 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type Node
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */  
+Node.prototype.firstChild=new Node(); 
+/**
+ * Property lastChild 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type Node
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */  
+Node.prototype.lastChild=new Node();  
+/**
+ * Property previousSibling 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type Node
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */  
+Node.prototype.previousSibling=new Node(); 
+/**
+ * Property nextSibling  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type Node
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */  
+Node.prototype.nextSibling=new Node(); 
+/**
+ * Property attributes  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type NamedNodeMap
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ * @see NamedNodeMap
+ */ 
+Node.prototype.attributes=new NamedNodeMap();
+/**
+ * Property ownerDocument  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *  
+ * @type Document
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Document    
+ */ 
+Node.prototype.ownerDocument = new HTMLDocument(); 
+/**
+ * Property namespaceURI 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html  
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.   
+ */ 
+Node.prototype.namespaceURI=""; 
+/**
+ * Property prefix 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @type String
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */ 
+Node.prototype.prefix = ""; 
+/**
+ * Property localName   
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */ 
+Node.prototype.localName= "";
+/**
+ * function insertBefore(newChild, refChild) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @param {Node} newChild
+ * @param {Node} refChild
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node  
+ */  
+Node.prototype.insertBefore = function(newChild, refChild){return new Node();}; 
+/**
+ * function replaceChild(newChild, oldChild) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @param {Node} newChild
+ * @param {Node} oldChild
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node  
+ */ 
+Node.prototype.replaceChild = function(newChild, oldChild){return new Node();}; 
+/**
+ * function removeChild(oldChild) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @param {Node} oldChild
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node  
+ */ 
+Node.prototype.removeChild = function(oldChild){return new Node();}; 
+/**
+ * function appendChild(newChild) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @param {Node} newChild
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node  
+ */  
+Node.prototype.appendChild = function(newChild){return new Node();}; 
+/**
+ * function hasChildNodes() 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @returns {Boolean}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.  
+ */ 
+Node.prototype.hasChildNodes=function(){return false;}; 
+/**
+ * function cloneNode(deep) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @param {Boolean} deep
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node  
+ */ 
+Node.prototype.cloneNode=function(deep){return new Node();}; 
+/**
+ * function normalize() 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ */ 
+Node.prototype.normalize = function(){}; 
+/**
+ * function isSupported(feature, version)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @param {String} feature
+ * @param {String} version
+ * @returns {Boolean}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition. 
+ */ 
+Node.prototype.isSupported=function(feature, version){return false;}; 
+/**
+ * function hasAttributes()   
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ *   
+ * @returns {Boolean}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition. 
+ */ 
+Node.prototype.hasAttributes=function(){return false;};
+
+/**
+ * Object NodeList()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Object
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Object
+ */
+function NodeList(){};
+NodeList.prototype = new Object();
+/**
+ * Property length   
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.  
+ */ 
+NodeList.prototype.length=0; 
+/**
+ * function item(index) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *     Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index 
+ * 
+ * @param {Number} index
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node     
+*/ 
+NodeList.prototype.item = function(index){return new Node();}; 
+
+/**
+ * Object NamedNodeMap()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Object
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Object
+ */
+function NamedNodeMap(){};
+NamedNodeMap.prototype = new Object();
+/**
+ * Property length 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type   Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.   
+ */
+NamedNodeMap.prototype.length=0; 
+/**
+ * function getNamedItem(name) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} name
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */  
+NamedNodeMap.prototype.getNamedItem=function(name){return new Node();}; 
+/**
+ * function setNamedItem(arg) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {Node} arg
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */ 
+NamedNodeMap.prototype.setNamedItem=function(arg){return new Node();}; 
+/**
+ * function removeNamedItem(name)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} name
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */ 
+NamedNodeMap.prototype.removeNamedItem=function(name){return new Node();}; 
+/**
+ * function item(index)
+ * Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index.
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {Number} index
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */ 
+NamedNodeMap.prototype.item=function(index){return new Node();}; 
+/**
+ * function getNamedItemNS(namespaceURI, localName) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */ 
+NamedNodeMap.prototype.getNamedItemNS=function(namespaceURI, localName){return new Node();}; 
+/**
+ * function setNamedItemNS(arg) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {Node} arg
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */ 
+NamedNodeMap.prototype.setNamedItemNS=function(arg){return new Node();}; 
+/**
+ * function removeNamedItemNS(namespaceURI, localName)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @returns {Node}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node    
+ */ 
+NamedNodeMap.prototype.removeNamedItemNS=function(namespaceURI, localName){return new Node();}; 
+
+/**
+ * Object CharacterData()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */ 
+function CharacterData(){};
+CharacterData.prototype=new Node();
+/**
+ * Property data
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type   String
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+CharacterData.prototype.data=""; 
+/**
+ * Property length
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type   Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+CharacterData.prototype.length=0; 
+/**
+ * function substringData(offset, count)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html  
+ *  
+ * @param {Number} offset
+ * @param {Number} count
+ * @returns {String}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+CharacterData.prototype.substringData=function(offset, count){return "";}; 
+/**
+ * function appendData(arg)    
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html  
+ *  
+ * @param {String} arg
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */  
+CharacterData.prototype.appendData=function(arg){}; 
+/**
+ * function insertData(offset, arg)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html  
+ *  
+ * @param {Number} offset
+ * @param {String} arg
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+CharacterData.prototype.insertData=function(offset, arg){};  
+/**
+ * function deleteData(offset, count)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html  
+ *  
+ * @param {Number} offset
+ * @param {Number} count
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+CharacterData.prototype.deleteData=function(offset, count){}; 
+/**
+ * function replaceData(offset, count, arg)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html  
+ *  
+ * @param {Number} offset
+ * @param {Number} count
+ * @param {String} arg
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+CharacterData.prototype.replaceData=function(offset, count, arg){}; 
+
+/**
+ * Object Attr()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */
+function Attr(){};
+Attr.prototype = new Node();
+/**
+ * Property name
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type   String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Attr.prototype.name = ""; 
+/**
+ * Property specified
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type   Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Attr.prototype.specified = false; 
+/**
+ * Property value 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type   String
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Attr.prototype.value = "";
+/**
+ * Property ownerElement 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type   Element
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Element  
+ */ 
+Attr.prototype.ownerElement = new Element();
+
+/**
+ * Object Element()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */
+function Element(){};
+Element.prototype=new Node(); 
+/**
+ * Property tagName  
+ * @type   String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.     
+ */
+Element.prototype.tagName="";
+/**
+ * function addEventListener(Stirng type, Function listener, Boolean useCapture) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @param {String} type
+ * @param {Function} listener
+ * @param {Boolean} useCapture
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.addEventListener=function(type, listener, useCapture){}; 
+/**
+ * function attachEvent(String type, Function listener) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @param {String} type
+ * @param {Function} listener
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.attachEvent=function(type, listener){}; 
+/**
+ * function detachEvent(String type, Function listener) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @param {String} type
+ * @param {Function} listener
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.detachEvent=function(type, listener){}; 
+/**
+ * function dispatchEvent(Object event) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @param {Object} event
+ * @returns {Boolean}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.dispatchEvent=function(event){return false;}; 
+/**
+ * function getAttribute(name) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} name
+ * @returns {String}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.getAttribute=function(name){return "";}; 
+/**
+ * function setAttribute(name, value) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} name
+ * @param {String} value
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.setAttribute=function(name, value){}; 
+/**
+ * function removeAttribute(name)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} name
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.removeAttribute=function(name){}; 
+/**
+ * function getAttributeNode(name)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} name
+ * @returns {Attr}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.getAttributeNode=function(name){return new Attr();}; 
+/**
+ * function setAttributeNode(newAttr)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {Attr} newAttr
+ * @returns {Attr}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.setAttributeNode=function(newAttr){return new Attr();}; 
+/**
+ * function removeAttributeNode(oldAttr) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {Attr} oldAttr
+ * @returns {Attr}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Element.prototype.removeAttributeNode=function(oldAttr){return new Attr();}; 
+/**
+ * function getElementsByTagName(name)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} name
+ * @returns {NodeList}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.getElementsByTagName=function(name){return new NodeList();}; 
+/**
+ * function getAttributeNS(namespaceURI, localName) 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @returns {String}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.getAttributeNS=function(namespaceURI, localName){return "";}; 
+/**
+ * function setAttributeNS(namespaceURI, qualifiedName, value)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} namespaceURI
+ * @param {String} qualifiedName
+ * @param {String} value
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.setAttributeNS=function(namespaceURI, qualifiedName, value){}; 
+/**
+ * function removeAttributeNS(namespaceURI, localName)  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Element.prototype.removeAttributeNS=function(namespaceURI, localName){}; 
+/**
+ * function getAttributeNodeNS(namespaceURI, localName)   
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @returns {Attr}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.getAttributeNodeNS=function(namespaceURI, localName){return new Attr();}; 
+/**
+ * function setAttributeNodeNS(newAttr)    
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {Attr} newAttr
+ * @returns {Attr}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.setAttributeNodeNS=function(newAttr){return new Attr();}; 
+/**
+ * function getElementsByTagNameNS(namespaceURI, localName)   
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @returns {NodeList}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; 
+/**
+ * function hasAttribute(name)   
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} name
+ * @returns {Boolean}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */ 
+Element.prototype.hasAttribute=function(name){return false;}; 
+/**
+ * function hasAttributeNS(namespaceURI, localName)    
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ *  
+ * @param {String} namespaceURI
+ * @param {String} localName
+ * @returns {Boolean}
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+Element.prototype.hasAttributeNS=function(namespaceURI, localName){return false;}; 
+
+/**
+ * Object Text()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments CharacterData
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see CharacterData
+ */
+function Text(){};
+Text.prototype = new CharacterData();
+/**
+ * function splitText(offset)
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @param {Number} offset
+ * @returns {Text}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Text
+ */
+Text.prototype.splitText = function(offset) {return new Text();};
+
+/**
+ * Object Comment()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments CharacterData
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see CharacterData
+ */
+function Comment(){};
+Comment.prototype = new CharacterData();
+
+/**
+ * Object CDATASection()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Text
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Text
+ */
+function CDATASection(){};
+CDATASection.prototype = new Text();
+
+/**
+ * Object DocumentType()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */
+function DocumentType(){};
+DocumentType.prototype = new Node();
+/**
+ * Property name
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type String 
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+DocumentType.prototype.name=""; 
+/**
+ * Property entities
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type NamedNodeMap 
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+DocumentType.prototype.entities = new NamedNodeMap();
+/**
+ * Property notations 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type NamedNodeMap 
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+DocumentType.prototype.notations=new NamedNodeMap(); 
+/**
+ * Property publicId 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type String 
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+DocumentType.prototype.publicId=""; 
+/**
+ * Property systemId  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type String 
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+DocumentType.prototype.systemId=""; 
+/**
+ * Property internalSubset 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @type String 
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.    
+ */
+DocumentType.prototype.internalSubset="";
+
+/**
+ * Object Notation()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */
+function Notation(){};
+Notation.prototype=new Node(); 
+/**
+ * Property publicId 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */  
+Notation.prototype.publicId=""; 
+/**
+ * Property systemId 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */ 
+Notation.prototype.systemId="";
+
+/**
+ * Object Entity()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */ 
+function Entity(){}; 
+Entity.prototype=new Node();
+/**
+ * Property publicId 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */  
+Entity.prototype.publicId="";
+/**
+ * Property systemId 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */  
+Entity.prototype.systemId=""; 
+/**
+ * Property notationName 
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */  
+Entity.prototype.notationName=""; 
+
+/**
+ * Object EntityReference()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */ 
+function EntityReference(){};
+EntityReference.prototype=new Node();
+
+/**
+ * Object ProcessingInstruction()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+ * 
+ * @augments Node
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+ * @see Node
+ */ 
+function ProcessingInstruction(){}; 
+ProcessingInstruction.prototype=new Node();
+/**
+ * Property target  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */ 
+ProcessingInstruction.prototype.target="";
+/**
+ * Property target  
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html 
+ * 
+ * @type String
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition 
+ * @since Level 2 Document Object Model Core Definition.     
+ */ 
+ProcessingInstruction.prototype.data=""; 
+
+
+/*HTML DOM Below this line*/
+
+/**
+ * Object HTMLCollection()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments Object
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */ 
+function HTMLCollection(){};
+HTMLCollection.prototype = new Object();
+/**
+ * Property length
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLCollection.prototype.length=0;
+/**
+ * function item(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLCollection.prototype.item = function(index){return new Node();};
+/**
+ * function namedItem(name)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {String} name
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLCollection.prototype.namedItem = function(index){return new Node();};
+
+/**
+ * Object HTMLOptionsCollection()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments Object
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */ 
+function HTMLOptionsCollection(){};
+HTMLOptionsCollection.prototype = new Object();
+/**
+ * Property length
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionsCollection.prototype.length=0;
+/**
+ * function item(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionsCollection.prototype.item = function(index){return new Node();};
+/**
+ * function namedItem(name)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {String} name
+ * @returns {Node}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionsCollection.prototype.namedItem = function(index){return new Node();};
+
+/**
+ * Object HTMLDocument()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments Document
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see Document
+ */ 
+function HTMLDocument(){};
+HTMLDocument.prototype = new Document();
+/**
+ * Property title
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.title="";
+/**
+ * Property referrer
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.referrer="";
+/**
+ * Property domain
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.domain="";
+/**
+ * Property URL
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.URL="";
+/**
+ * Property body
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.body=new HTMLElement();
+/**
+ * Property images
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.images=new HTMLCollection();
+/**
+ * Property applets
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.applets=new HTMLCollection();
+/**
+ * Property links
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.links=new HTMLCollection();
+/**
+ * Property forms
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.forms=new HTMLCollection();
+/**
+ * Property anchors
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.anchors=new HTMLCollection();
+/**
+ * Property cookie
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.cookie="";
+/**
+ * Property lastModified
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.lastModified="";
+/**
+ * function open()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.open = function(){};
+/**
+ * function close()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.close = function(){};
+/**
+ * function write(text)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {String} text
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.write = function(text){};
+/**
+ * function writeln(text)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {String} text
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.writeln = function(text){};
+/**
+ * function getElementsByName(elementName)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {String} elementName
+ * @returns {NodeList}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDocument.prototype.getElementsByName = function(elementName){return new NodeList();};
+
+/**
+ * Object HTMLElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments Element
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see Element
+ */ 
+function HTMLElement(){};
+HTMLElement.prototype = new Element();
+/**
+ * Property id
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLElement.prototype.id="";
+/**
+ * Property title
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLElement.prototype.title="";
+/**
+ * Property lang
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLElement.prototype.lang="";
+/**
+ * Property dir
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLElement.prototype.dir="";
+/**
+ * Property className
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLElement.prototype.className="";
+/**
+ * Property innerHTML
+ * 
+ * @type String
+ */
+HTMLElement.prototype.innerHTML="";
+/**
+ * Property offsetHeight
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.offsetHeight=0;
+/**
+ * Property offsetWidth
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.offsetWidth=0;
+/**
+ * Property offsetLeft
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.offsetLeft=0;
+/**
+ * Property offsetTop
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.offsetTop=0;
+/**
+ * Property offsetParent
+ * 
+ * @type HTMLElement
+ */
+HTMLElement.prototype.offsetParent = new HTMLElement();
+/**
+ * Property scrollHeight
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.scrollHeight=0;
+/**
+ * Property scrollWidth
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.scrollWidth=0;
+/**
+ * Property scrollLeft
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.scrollLeft=0;
+/**
+ * Property scrollTop
+ * 
+ * @type Number
+ */
+HTMLElement.prototype.scrollTop=0;
+/**
+ * Property style
+ * 
+ * @type CSS2Properties
+ */
+HTMLElement.prototype.style = new CSS2Properties();
+
+/**
+ * Object HTMLHtmlElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLHtmlElement(){};
+HTMLHtmlElement.prototype = new HTMLElement();
+/**
+ * Property version
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLHtmlElement.prototype.version="";
+
+/**
+ * Object HTMLHeadElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLHeadElement(){};
+HTMLHeadElement.prototype = new HTMLElement();
+/**
+ * Property profile
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLHeadElement.prototype.profile="";
+
+/**
+ * Object HTMLLinkElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLLinkElement(){};
+HTMLLinkElement.prototype = new HTMLElement();
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.disabled=false;
+/**
+ * Property charset
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.charset="";
+/**
+ * Property href
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.href="";
+/**
+ * Property hreflang
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.hreflang="";
+/**
+ * Property media
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.media="";
+/**
+ * Property rel
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.rel="";
+/**
+ * Property rev
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.rev="";
+/**
+ * Property target
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.target="";
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLinkElement.prototype.type="";
+
+/**
+ * Object HTMLTitleElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTitleElement(){};
+HTMLTitleElement.prototype = new HTMLElement();
+/**
+ * Property text
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTitleElement.prototype.text="";
+
+/**
+ * Object HTMLMetaElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLMetaElement(){};
+HTMLMetaElement.prototype = new HTMLElement();
+/**
+ * Property content
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLMetaElement.prototype.content="";
+/**
+ * Property httpEquiv
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLMetaElement.prototype.httpEquiv="";
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLMetaElement.prototype.name="";
+/**
+ * Property scheme
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLMetaElement.prototype.scheme="";
+
+/**
+ * Object HTMLBaseElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLBaseElement(){};
+HTMLBaseElement.prototype = new HTMLElement();
+/**
+ * Property href
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBaseElement.prototype.href="";
+/**
+ * Property target
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBaseElement.prototype.target="";
+
+/**
+ * Object HTMLIsIndexElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLIsIndexElement(){};
+HTMLIsIndexElement.prototype = new HTMLElement();
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIsIndexElement.prototype.form=new HTMLFormElement();
+/**
+ * Property prompt
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIsIndexElement.prototype.prompt="";
+
+/**
+ * Object HTMLStyleElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLStyleElement(){};
+HTMLStyleElement.prototype = new HTMLElement();
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLStyleElement.prototype.disabled=false;
+/**
+ * Property media
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLStyleElement.prototype.media="";
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLStyleElement.prototype.type="";
+
+/**
+ * Object HTMLBodyElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLBodyElement(){};
+HTMLBodyElement.prototype = new HTMLElement();
+/**
+ * Property aLink
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBodyElement.prototype.aLink="";
+/**
+ * Property background
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBodyElement.prototype.background="";
+/**
+ * Property bgColor
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBodyElement.prototype.bgColor="";
+/**
+ * Property link
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBodyElement.prototype.link="";
+/**
+ * Property text
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBodyElement.prototype.text="";
+/**
+ * Property vLink
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBodyElement.prototype.vLink="";
+
+/**
+ * Object HTMLFormElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLFormElement(){};
+HTMLFormElement.prototype = new HTMLElement();
+/**
+ * Property elements
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.elements=new HTMLCollection();
+/**
+ * Property length
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.length=0;
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.name="";
+/**
+ * Property acceptCharset
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.acceptCharset="";
+/**
+ * Property action
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.action="";
+/**
+ * Property enctype
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.enctype="";
+/**
+ * Property method
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.method="";
+/**
+ * Property target
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.target="";
+/**
+ * function submit()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.submit = function(){};
+/**
+ * function reset()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFormElement.prototype.reset = function(){};
+
+/**
+ * Object HTMLSelectElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLSelectElement(){};
+HTMLSelectElement.prototype = new HTMLElement();
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.type="";
+/**
+ * Property selectedIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.selectedIndex=0;
+/**
+ * Property value
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.value="";
+/**
+ * Property length
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.length=0;
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.form = new HTMLFormElement();
+/**
+ * Property options
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLOptionsCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.options= new HTMLOptionsCollection();
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.disabled=false;
+/**
+ * Property multiple
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.multiple=false;
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.name="";
+/**
+ * Property size
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.size=0;
+/**
+ * Property tabIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.tabIndex=0;
+/**
+ * function add(element, before)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {HTMLElement} element
+ * @param {HTMLElement} before
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.add = function(element, before){};
+/**
+ * function remove(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.remove = function(index){};
+/**
+ * function blur()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.blur = function(){};
+/**
+ * function focus()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLSelectElement.prototype.focus = function(){};
+
+/**
+ * Object HTMLOptGroupElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLOptGroupElement(){};
+HTMLOptGroupElement.prototype = new HTMLElement();
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptGroupElement.prototype.disabled=false;
+/**
+ * Property label
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptGroupElement.prototype.label="";
+
+/**
+ * Object Option()
+ * @constructor
+ * @param {String} text
+ * @param {String} value
+ * @param {Boolean} defaultSelected
+ * @param {Boolean} selected
+ */
+function Option(text, value, defaultSelected, selected){};
+Option.prototype = new HTMLOptionElement();
+/**
+ * Object HTMLOptionElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLOptionElement(){};
+HTMLOptionElement.prototype = new HTMLElement();
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.form = new HTMLFormElement();
+/**
+ * Property defaultSelected
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.defaultSelected=false;
+/**
+ * Property text
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.text="";
+/**
+ * Property index
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.index=0;
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.disabled=false;
+/**
+ * Property label
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.label="";
+/**
+ * Property selected
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.selected=false;
+/**
+ * Property value
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOptionElement.prototype.value="";
+
+/**
+ * Object HTMLInputElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLInputElement(){};
+HTMLInputElement.prototype = new HTMLElement();
+/**
+ * Property defaultValue
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.defaultValue="";
+/**
+ * Property defaultChecked
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.defaultChecked=false;
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.form = new HTMLFormElement();
+/**
+ * Property accept
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.accept="";
+/**
+ * Property accessKey
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.accessKey="";
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.align="";
+/**
+ * Property alt
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.alt="";
+/**
+ * Property checked
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.checked=false;
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.disabled=false;
+/**
+ * Property masLength
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.maxLenght=0;
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.name="";
+/**
+ * Property readOnly
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.readOnly=false;
+/**
+ * Property size
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.size=0;
+/**
+ * Property src
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.src="";
+/**
+ * Property tabIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.tabIndex=0;
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.type="";
+/**
+ * Property useMap
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.useMap="";
+/**
+ * Property value
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.value="";
+/**
+ * function blur()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.blur = function(){};
+/**
+ * function focus()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.focus = function(){};
+/**
+ * function select()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.select = function(){};
+/**
+ * function click()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLInputElement.prototype.click = function(){};
+
+/**
+ * Object HTMLTextAreaElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTextAreaElement(){};
+HTMLTextAreaElement.prototype = new HTMLElement();
+/**
+ * Property defaultValue
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.defaultValue="";
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.form= new HTMLFormElement();
+/**
+ * Property accessKey
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.accessKey="";
+/**
+ * Property cols
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.cols=0;
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.disabled=false;
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.name="";
+/**
+ * Property readOnly
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.readOnly=false;
+/**
+ * Property rows
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.rows=0;
+/**
+ * Property tabIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.tabIndex=0;
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.type="";
+/**
+ * Property value
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.value="";
+/**
+ * function blur()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.blur = function(){};
+/**
+ * function focus()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.focus = function(){};
+/**
+ * function select()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTextAreaElement.prototype.select = function(){};
+
+/**
+ * Object HTMLButtonElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLButtonElement(){};
+HTMLButtonElement.prototype = new HTMLElement();
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLButtonElement.prototype.form = new HTMLFormElement();
+/**
+ * Property accessKey
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLButtonElement.prototype.accessKey = "";
+/**
+ * Property disabled
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLButtonElement.prototype.disabled=false;
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLButtonElement.prototype.name="";
+/**
+ * Property tabIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLButtonElement.prototype.tabIndex=0;
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLButtonElement.prototype.type="";
+/**
+ * Property value
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLButtonElement.prototype.value="";
+
+/**
+ * Object HTMLLabelElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLLabelElement(){};
+HTMLLabelElement.prototype = new HTMLElement();
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLabelElement.prototype.form = new HTMLFormElement();
+/**
+ * Property accessKey
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLabelElement.prototype.accessKey="";
+/**
+ * Property htmlFor
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLabelElement.prototype.htmlFor="";
+
+/**
+ * Object HTMLFieldSetElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLFieldSetElement(){};
+HTMLFieldSetElement.prototype = new HTMLElement();
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFieldSetElement.prototype.form = new HTMLFormElement();
+
+/**
+ * Object HTMLLegendElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLLegendElement(){};
+HTMLLegendElement.prototype = new HTMLElement();
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLegendElement.prototype.form = new HTMLFormElement();
+/**
+ * Property accessKey
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLegendElement.prototype.accessKey="";
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLegendElement.prototype.align="";
+
+/**
+ * Object HTMLUListElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLUListElement(){};
+HTMLUListElement.prototype = new HTMLElement();
+/**
+ * Property compact
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLUListElement.prototype.compact=false;
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLUListElement.prototype.type="";
+
+/**
+ * Object HTMLOListElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLOListElement(){};
+HTMLOListElement.prototype = new HTMLElement();
+/**
+ * Property compact
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOListElement.prototype.compact=false;
+/**
+ * Property start
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOListElement.prototype.start=0;
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLOListElement.prototype.type="";
+
+/**
+ * Object HTMLDListElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLDListElement(){};
+HTMLDListElement.prototype = new HTMLElement();
+/**
+ * Property compact
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDListElement.prototype.compact=false;
+
+/**
+ * Object HTMLDirectoryElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLDirectoryElement(){};
+HTMLDirectoryElement.prototype = new HTMLElement();
+/**
+ * Property compact
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDirectoryElement.prototype.compact=false;
+
+/**
+ * Object HTMLMenuElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLMenuElement(){};
+HTMLMenuElement.prototype = new HTMLElement();
+/**
+ * Property compact
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLMenuElement.prototype.compact=false;
+
+/**
+ * Object HTMLLIElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLLIElement(){};
+HTMLLIElement.prototype = new HTMLElement();
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLIElement.prototype.type="";
+/**
+ * Property value
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLLIElement.prototype.value=0;
+
+/**
+ * Object HTMLDivElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLDivElement(){};
+HTMLDivElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLDivElement.prototype.align="";
+
+/**
+ * Object HTMLParagraphElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLParagraphElement(){};
+HTMLParagraphElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLParagraphElement.prototype.align="";
+
+/**
+ * Object HTMLHeadingElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLHeadingElement(){};
+HTMLHeadingElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLHeadingElement.prototype.align="";
+
+/**
+ * Object HTMLQuoteElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLQuoteElement(){};
+HTMLQuoteElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLQuoteElement.prototype.align="";
+
+/**
+ * Object HTMLPreElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLPreElement(){};
+HTMLPreElement.prototype = new HTMLElement();
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLPreElement.prototype.width=0;
+
+/**
+ * Object HTMLBRElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLBRElement(){};
+HTMLBRElement.prototype = new HTMLElement();
+/**
+ * Property clear
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBRElement.prototype.clear="";
+
+/**
+ * Object HTMLBaseFontElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLBaseFontElement(){};
+HTMLBaseFontElement.prototype = new HTMLElement();
+/**
+ * Property color
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBaseFontElement.prototype.color="";
+/**
+ * Property face
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBaseFontElement.prototype.face="";
+/**
+ * Property size
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLBaseFontElement.prototype.size=0;
+
+/**
+ * Object HTMLBaseFontElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLFontElement(){};
+HTMLFontElement.prototype = new HTMLElement();
+/**
+ * Property color
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFontElement.prototype.color="";
+/**
+ * Property face
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFontElement.prototype.face="";
+/**
+ * Property size
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFontElement.prototype.size=0;
+
+/**
+ * Object HTMLHRElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLHRElement(){};
+HTMLHRElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLHRElement.prototype.align="";
+/**
+ * Property noShade
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLHRElement.prototype.noShade=false;
+/**
+ * Property size
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLHRElement.prototype.size="";
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLHRElement.prototype.width="";
+
+/**
+ * Object HTMLModElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLModElement(){};
+HTMLModElement.prototype = new HTMLElement();
+/**
+ * Property cite
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLModElement.prototype.cite="";
+/**
+ * Property dateTime
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLModElement.prototype.dateTime="";
+
+/**
+ * Object HTMLAnchorElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLAnchorElement(){};
+HTMLAnchorElement.prototype = new HTMLElement();
+/**
+ * Property accessKey
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.accessKey="";
+/**
+ * Property charset
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.charset="";
+/**
+ * Property coords
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.coords="";
+/**
+ * Property href
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.href="";
+/**
+ * Property hreflang
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.hreflang="";
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.name="";
+/**
+ * Property rel
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.rel="";
+/**
+ * Property rev
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.rev="";
+/**
+ * Property shape
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.shape="";
+/**
+ * Property tabIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.tabIndex=0;
+/**
+ * Property target
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.target="";
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.type="";
+/**
+ * function blur()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.blur = function(){};
+/**
+ * function focus()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAnchorElement.prototype.focus = function(){};
+
+/**
+ * Object Image()
+ * @constructor
+ * @param {Number} width
+ * @param {Number} height
+ */
+function Image(width, height){};
+Image.prototype = new HTMLImageElement();
+/**
+ * Object HTMLImageElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLImageElement(){};
+HTMLImageElement.prototype = new HTMLElement();
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.name="";
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.align="";
+/**
+ * Property alt
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.alt="";
+/**
+ * Property border
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.border="";
+/**
+ * Property height
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.height=0;
+/**
+ * Property hspace
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.hspace=0;
+/**
+ * Property isMap
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.isMap=false;
+/**
+ * Property longDesc
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.longDesc="";
+/**
+ * Property src
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.src="";
+/**
+ * Property useMap
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.useMap="";
+/**
+ * Property vspace
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.vspace=0;
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLImageElement.prototype.width=0;
+
+/**
+ * Object HTMLObjectElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLObjectElement(){};
+HTMLObjectElement.prototype = new HTMLElement();
+/**
+ * Property form
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLFormElement
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.form = new HTMLFormElement();
+/**
+ * Property code
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.code="";
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.align="";
+/**
+ * Property archive
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.archive="";
+/**
+ * Property border
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.border="";
+/**
+ * Property codeBase
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.codeBase="";
+/**
+ * Property codeType
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.codeType="";
+/**
+ * Property data
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.data="";
+/**
+ * Property declare
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.declare=false;
+/**
+ * Property height
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.height="";
+/**
+ * Property hspace
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.hspace=0;
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.name="";
+/**
+ * Property standby
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.standby="";
+/**
+ * Property tabIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.tabIndex=0;
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.type="";
+/**
+ * Property useMap
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.useMap="";
+/**
+ * Property vspace
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.vspace=0;
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.width="";
+/**
+ * Property contentDocument
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Document
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLObjectElement.prototype.contentDocument= new HTMLDocument();
+
+/**
+ * Object HTMLParamElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLParamElement(){};
+HTMLParamElement.prototype = new HTMLElement();
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLParamElement.prototype.name="";
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLParamElement.prototype.type="";
+/**
+ * Property value
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLParamElement.prototype.value="";
+/**
+ * Property valueType
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLParamElement.prototype.valueType="";
+
+/**
+ * Object HTMLAppletElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLAppletElement(){};
+HTMLAppletElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.align="";
+/**
+ * Property alt
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.alt="";
+/**
+ * Property archive
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.archive="";
+/**
+ * Property code
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.code="";
+/**
+ * Property codeBase
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.codeBase="";
+/**
+ * Property height
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.hight="";
+/**
+ * Property hspace
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.hspace=0;
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.name="";
+/**
+ * Property object
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.object="";
+/**
+ * Property vspace
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.vspace=0;
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAppletElement.prototype.width="";
+
+/**
+ * Object HTMLMapElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLMapElement(){};
+HTMLMapElement.prototype = new HTMLElement();
+/**
+ * Property areas
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLMapElement.prototype.areas = new HTMLCollection();
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLMapElement.prototype.name="";
+
+/**
+ * Object HTMLAreaElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLAreaElement(){};
+HTMLAreaElement.prototype = new HTMLElement();
+/**
+ * Property accessKey
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.accessKey="";
+/**
+ * Property alt
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.alt="";
+/**
+ * Property coords
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.coords="";
+/**
+ * Property href
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.href="";
+/**
+ * Property noHref
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.noHref=false;
+/**
+ * Property shape
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.shape="";
+/**
+ * Property tabIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.tabIndex=0;
+/**
+ * Property target
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLAreaElement.prototype.target="";
+
+/**
+ * Object HTMLScriptElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLScriptElement(){};
+HTMLScriptElement.prototype = new HTMLElement();
+/**
+ * Property text
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLScriptElement.prototype.text="";
+/**
+ * Property htmlFor
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLScriptElement.prototype.htmlFor="";
+/**
+ * Property event
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLScriptElement.prototype.event="";
+/**
+ * Property charset
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLScriptElement.prototype.charset="";
+/**
+ * Property defer
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLScriptElement.prototype.defer="";
+/**
+ * Property src
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLScriptElement.prototype.src="";
+/**
+ * Property type
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLScriptElement.prototype.type="";
+
+/**
+ * Object HTMLTableElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTableElement(){};
+HTMLTableElement.prototype = new HTMLElement();
+/**
+ * Property caption
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLTableCaptionElement
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.caption = new HTMLTableCaptionElement();
+/**
+ * Property tHead
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLTableSectionElement
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.tHead = new HTMLTableSelectionElement();
+/**
+ * Property tFoot
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLTableSectionElement
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.tFoot = new HTMLTableSelectionElement();
+/**
+ * Property rows
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.rows = new HTMLCollection();
+/**
+ * Property tBodies
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.tBodies = new HTMLCollection();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.align="";
+/**
+ * Property bgColor
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.bgColor="";
+/**
+ * Property border
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.border="";
+/**
+ * Property cellPadding
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.cellPadding="";
+/**
+ * Property cellSpacing
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.cellSpacing="";
+/**
+ * Property frame
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.frame="";
+/**
+ * Property rules
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.rules="";
+/**
+ * Property summary
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.summary="";
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.width="";
+/**
+ * function createTHead();
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @returns {HTMLElement}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.createTHead = function(){return new HTMLElement();};
+/**
+ * function deleteTHead();
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.deleteTHead = function(){};
+/**
+ * function createTFoot();
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @returns {HTMLElement}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.createTFoot = function(){return new HTMLElement();};
+/**
+ * function deleteTFoot();
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.deleteTFoot = function(){};
+/**
+ * function createCaption();
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @returns {HTMLElement}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.createCaption = function(){return new HTMLElement();};
+/**
+ * function deleteCaption();
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.deleteCaption = function(){};
+/**
+ * function insertRow(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @returns {HTMLElement}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.insertRow = function(index){return new HTMLElement();};
+/**
+ * function deleteRow(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableElement.prototype.deleteRow = function(index){};
+
+/**
+ * Object HTMLTableCaptionElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTableCaptionElement(){};
+HTMLTableCaptionElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCaptionElement.prototype.align="";
+
+/**
+ * Object HTMLTableColElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTableColElement(){};
+HTMLTableColElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableColElement.prototype.align="";
+/**
+ * Property ch
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableColElement.prototype.ch="";
+/**
+ * Property chOff
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableColElement.prototype.chOff="";
+/**
+ * Property span
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableColElement.prototype.span=0;
+/**
+ * Property vAlign
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableColElement.prototype.vAlign="";
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableColElement.prototype.width="";
+
+/**
+ * Object HTMLTableSelectionElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTableSelectionElement(){};
+HTMLTableSelectionElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableSelectionElement.prototype.align="";
+/**
+ * Property ch
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableSelectionElement.prototype.ch="";
+/**
+ * Property chOff
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableSelectionElement.prototype.chOff="";
+/**
+ * Property vAlign
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableSelectionElement.prototype.vAlign="";
+/**
+ * Property rows
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableSelectionElement.prototype.rows="";
+/**
+ * function insertRow(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @returns {HTMLElement}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableSelectionElement.prototype.insertRow = function(index){return new HTMLElement();};
+/**
+ * function deleteRow(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableSelectionElement.prototype.deleteRow = function(index){};
+
+/**
+ * Object HTMLTableRowElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTableRowElement(){};
+HTMLTableRowElement.prototype = new HTMLElement();
+/**
+ * Property rowIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.rowIndex=0;
+/**
+ * Property sectionRowIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.sectionRowIndex=0;
+/**
+ * Property cells
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type HTMLCollection
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.cells = new HTMLCollection();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.align="";
+/**
+ * Property bgColor
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.bgColor="";
+/**
+ * Property ch
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.ch="";
+/**
+ * Property chOff
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.chOff="";
+/**
+ * Property vAlign
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.vAlign="";
+/**
+ * function insertCell(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @returns {HTMLElement}
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.insertCell = function(index){return new HTMLElement();};
+/**
+ * function insertCell(index)
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @param {Number} index
+ * @throws DOMException
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableRowElement.prototype.deleteCell = function(index){};
+
+/**
+ * Object HTMLTableRowElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLTableCellElement(){};
+HTMLTableCellElement.prototype = new HTMLElement();
+/**
+ * Property cellIndex
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.cellIndex=0;
+/**
+ * Property abbr
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.abbr="";
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.align="";
+/**
+ * Property axis
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.axis="";
+/**
+ * Property bgColor
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.bgColor="";
+/**
+ * Property ch
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.ch="";
+/**
+ * Property chOff
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.chOff="";
+/**
+ * Property colSpan
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.colSpan=0;
+/**
+ * Property headers
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.headers="";
+/**
+ * Property height
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.height="";
+/**
+ * Property noWrap
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.noWrap=false;
+/**
+ * Property rowSpan
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Number
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.rowSpan=0;
+/**
+ * Property scope
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.scope="";
+/**
+ * Property vAlign
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.vAlign="";
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLTableCellElement.prototype.width="";
+
+/**
+ * Object HTMLFrameSetElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLFrameSetElement(){};
+HTMLFrameSetElement.prototype = new HTMLElement();
+/**
+ * Property cols
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameSetElement.prototype.cols="";
+/**
+ * Property rows
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameSetElement.prototype.rows="";
+
+/**
+ * Object HTMLFrameElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLFrameElement(){};
+HTMLFrameElement.prototype = new HTMLElement();
+/**
+ * Property frameBorder
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.frameBorder="";
+/**
+ * Property longDesc
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.longDesc="";
+/**
+ * Property marginHeight
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.marginHeight="";
+/**
+ * Property marginWidth
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.marginWidth="";
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.name="";
+/**
+ * Property noResize
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Boolean
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.noResize=false;
+/**
+ * Property scrolling
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.scrolling="";
+/**
+ * Property src
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.src="";
+/**
+ * Property contentDocument
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Document
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLFrameElement.prototype.contentDocument= new HTMLDocument();
+
+/**
+ * Object HTMLIFrameElement()
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @augments HTMLElement
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ * @see HTMLElement
+ */
+function HTMLIFrameElement(){};
+HTMLIFrameElement.prototype = new HTMLElement();
+/**
+ * Property align
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.align="";
+/**
+ * Property frameBorder
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.frameBorder="";
+/**
+ * Property height
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.height="";
+/**
+ * Property longDesc
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.longDesc="";
+/**
+ * Property marginHeight
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.marginHeight="";
+/**
+ * Property marginWidth
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.marginWidth="";
+/**
+ * Property name
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.name="";
+/**
+ * Property scrolling
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.scrolling="";
+/**
+ * Property src
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.src="";
+/**
+ * Property width
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type String
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.width="";
+/**
+ * Property contentDocument
+ * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html
+ * 
+ * @type Document
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model HTML Specification.
+ */
+HTMLIFrameElement.prototype.contentDocument= new HTMLDocument();
+
+/* Stylesheets */
+/**
+ * Object CSS2Properties()
+ * http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/ecma-script-binding.html
+ * 
+ * @augments Object
+ * @constructor
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Style Specification.
+ */
+function CSS2Properties(){};
+CSS2Properties.prototype = new Object();
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js
new file mode 100644
index 0000000..cfbf452
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js
@@ -0,0 +1,618 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2013 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+function BarProp(){};
+BarProp.prototype = new Array();
+
+/**
+ * Object Window()
+ * @super Global
+ * @constructor
+ * @since Common Usage, no standard
+*/
+function Window(){};
+Window.prototype = new EventTarget();
+Window.prototype.self = new Window();
+Window.prototype.window = new Window();
+Window.prototype.frames = new Array();
+/**
+ * Property closed
+ * @type Boolean
+ * @memberOf Window
+ */
+Window.prototype.closed = new Boolean();
+/**
+ * Property defaultStatus
+ * @type String
+ * @memberOf Window
+ */
+Window.prototype.defaultStatus = "";
+/**
+ * Property document
+ * @type Document
+ * @memberOf Window
+ */
+Window.prototype.document= new HTMLDocument();
+/**
+ * Property history
+ * @type History
+ * @memberOf Window
+ */
+Window.prototype.history= new History();
+/**
+ * Property location
+ * @type Location
+ * @memberOf Window
+ */
+Window.prototype.location=new Location();
+/**
+ * Property name
+ * @type String
+ * @memberOf Window
+ */
+Window.prototype.name = "";
+/**
+ * Property navigator
+ * @type Navigator
+ * @memberOf Window
+ */
+Window.prototype.navigator = new Navigator();
+/**
+ * Property opener
+ * @type Window
+ * @memberOf Window
+ */
+Window.prototype.opener = new Window();
+/**
+ * Property outerWidth
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.outerWidth = 0;
+/**
+ * Property outerHeight
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.outerHeight = 0;
+/**
+ * Property pageXOffset
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.pageXOffset = 0;
+/**
+ * Property pageYOffset
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.pageYOffset = 0;
+/**
+ * Property parent
+ * @type Window
+ * @memberOf Window
+ */
+Window.prototype.parent = new Window();
+/**
+ * Property screen
+ * @type Screen
+ * @memberOf Window
+ */
+Window.prototype.screen = new Screen();
+/**
+ * Property status
+ * @type String
+ * @memberOf Window
+ */
+Window.prototype.status = "";
+/**
+ * Property top
+ * @type Window
+ * @memberOf Window
+ */
+Window.prototype.top = new Window();
+
+
+/*
+ * These properties may need to be moved into a browswer specific library.
+ */
+
+ /**
+ * Property innerWidth
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.innerWidth = 0;
+/**
+ * Property innerHeight
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.innerHeight = 0;
+/**
+ * Property screenX
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.screenX = 0;
+/**
+ * Property screenY
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.screenY = 0;
+/**
+ * Property screenLeft
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.screenLeft = 0;
+/**
+ * Property screenTop
+ * @type Number
+ * @memberOf Window
+ */
+Window.prototype.screenTop = 0;
+//Window.prototype.event = new Event();
+Window.prototype.length = 0;
+Window.prototype.scrollbars= new BarProp();
+Window.prototype.scrollX=0;
+Window.prototype.scrollY=0;
+Window.prototype.content= new Window();
+Window.prototype.menubar= new BarProp();
+Window.prototype.toolbar= new BarProp();
+Window.prototype.locationbar= new BarProp();
+Window.prototype.personalbar= new BarProp();
+Window.prototype.statusbar= new BarProp();
+Window.prototype.directories= new BarProp();
+Window.prototype.scrollMaxX=0;
+Window.prototype.scrollMaxY=0;
+Window.prototype.fullScreen="";
+Window.prototype.frameElement="";
+/* End properites */
+
+/**
+ * function alert() 
+ * @param {String} message
+ * @memberOf Window
+ */
+Window.prototype.alert = function(message){};
+/**
+ * function blur() 
+ * @memberOf Window
+ */
+Window.prototype.blur = function(){};
+/**
+ * function clearInterval(intervalID) 
+ * @param intervalID
+ * @memberOf Window
+ */
+Window.prototype.clearInterval = function(intervalID){};
+/**
+ * function clearTimeout(intervalID) 
+ * @param intervalID
+ * @memberOf Window
+ */
+Window.prototype.clearTimeout = function(intervalID){};
+/**
+ * function close() 
+ * @memberOf Window
+ */
+Window.prototype.close = function(){};
+/**
+ * function confirm() 
+ * @param {String} arg
+ * @memberOf Window
+ * @returns {Boolean}
+ */
+Window.prototype.confirm = function(arg){return false;};
+/**
+ * function focus() 
+ * @memberOf Window
+ */
+Window.prototype.focus = function(){};
+/**
+ * function getComputedStyle(element, pseudoElt ) 
+ * @param {Element} element
+ * @param {String} pseudoElt 
+ * @memberOf Window
+ * @returns {Object}
+ */
+Window.prototype.getComputedStyle = function(element,pseudoElt ){return new Object();};
+/**
+ * function moveTo(x, y) 
+ * @param {Number} x
+ * @param {Number} y
+ * @memberOf Window
+ */
+Window.prototype.moveTo = function(x,y){};
+/**
+ * function moveBy(deltaX, deltaY) 
+ * @param {Number} deltaX
+ * @param {Number} deltaY
+ * @memberOf Window
+ */
+Window.prototype.moveBy = function(deltaX,deltaY){};
+/**
+ * function open(optionalArg1, optionalArg2, optionalArg3, optionalArg4) 
+ * @param {String} url
+ * @param {String} windowName
+ * @param {String} windowFeatures
+ * @param {Boolean} optionalArg4
+ * @memberOf Window
+ * @returns {Window}
+ */
+Window.prototype.open = function(url, windowName, windowFeatures, optionalArg4){return new Window();};
+/**
+ * function print() 
+ * @memberOf Window
+ */
+Window.prototype.print = function(){};
+/**
+ * function prompt(text, value) 
+ * @param {String} text
+ * @param {String} value
+ * @memberOf Window
+ * @returns {String}
+ */
+Window.prototype.prompt = function(text, value){return "";};
+/**
+ * function resizeTo(newOuterWidth,newOuterHeight) 
+ * @param {Number} newOuterWidth
+ * @param {Number} newOuterHeighr
+ * @memberOf Window
+ */
+Window.prototype.resizeTo=function(newOuterWidth,newOuterHeight){};
+/**
+ * function resizeBy(deltaX, deltaY) 
+ * @param {Number} deltaX
+ * @param {Number} deltaY
+ * @memberOf Window
+ */
+Window.prototype.resizeBy=function(deltaX,deltaY){};
+/**
+ * function scrollTo(x,y) 
+ * @param {Number} x
+ * @param {Number} y
+ * @memberOf Window
+ */
+Window.prototype.scrollTo=function(x,y){};
+/**
+ * function scrollBy(pixelX,pixelY) 
+ * @param {Number} pixelX
+ * @param {Number} pixelY
+ * @memberOf Window
+ */
+Window.prototype.scrollBy=function(pixelX,pixelY){};
+/**
+ * function setInterval(arg1, arg2) 
+ * @param {Function} callback
+ * @param {Number} delay
+ * @memberOf Window
+ * @returns {Number}
+ */
+Window.prototype.setInterval=function(callback, delay){return 0;};
+/**
+ * function setTimeout(callback, delay) 
+ * @param {Function} callback
+ * @param {Number} delay
+ * @memberOf Window
+ * @returns {Number}
+ */
+Window.prototype.setTimeout=function(callback, delay){ return 0;};
+/**
+ * function atob(encodedData) 
+ * @param {String} encodedData
+ * @memberOf Window
+ * @returns {String}
+ */
+Window.prototype.atob=function(encodedData){return "";};
+/**
+ * function btoa(arg) 
+ * @param {String} stringToEncode
+ * @memberOf Window
+ * @returns {String}
+ */
+Window.prototype.btoa=function(stringToEncode){return "";};
+/**
+ * function setResizable(resizable) 
+ * @param {Boolean} resizable
+ * @memberOf Window
+ */
+Window.prototype.setResizable=function(resizable){};
+
+Window.prototype.captureEvents=function(eventType){};
+Window.prototype.releaseEvents=function(eventType){};
+Window.prototype.routeEvent=function(eventType){};
+Window.prototype.enableExternalCapture=function(){};
+Window.prototype.disableExternalCapture=function(){};
+Window.prototype.find=function(){};
+Window.prototype.back=function(){};
+Window.prototype.forward=function(){};
+Window.prototype.home=function(){};
+Window.prototype.stop=function(){};
+/**
+ * @param {Number} pixelX
+ * @param {Number} pixelY
+ */
+Window.prototype.scroll=function(pixelX,pixelY){};
+/* End functions */
+
+/**
+  * Object History()
+  * @super Object
+  * @constructor
+  * @since Common Usage, no standard
+ */
+function History(){};
+History.prototype=new Object();
+History.prototype.history = new History();
+/**
+ * Property length
+ * @type Number
+ * @memberOf History
+ */
+History.prototype.length = 0;
+/**
+ * function back()
+ * @memberOf History
+ */
+History.prototype.back = function(){};
+/**
+ * function forward()
+ * @memberOf History
+ */
+History.prototype.forward = function(){};
+/**
+ * function back()
+ * @param arg
+ * @memberOf History
+ */
+History.prototype.go = function(arg){};
+
+/**
+  * Object Location()
+  * @super Object
+  * @constructor
+  * @since Common Usage, no standard
+ */
+function Location(){};
+Location.prototype = new Object();
+Location.prototype.location = new Location();
+/**
+ * Property hash
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.hash = "";
+/**
+ * Property host
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.host = "";
+/**
+ * Property hostname
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.hostname = "";
+/**
+ * Property href
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.href = "";
+/**
+ * Property pathname
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.pathname = "";
+/**
+ * Property port
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.port = "";
+/**
+ * Property protocol
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.protocol = "";
+/**
+ * Property search
+ * @type String
+ * @memberOf Location
+ */
+Location.prototype.search = "";
+/**
+ * function assign(arg)
+ * @param {String} arg
+ * @memberOf Location
+ */
+Location.prototype.assign = function(arg){};
+/**
+ * function reload(optionalArg)
+ * @param {Boolean} optionalArg
+ * @memberOf Location
+ */
+Location.prototype.reload = function(optionalArg){};
+/**
+ * function replace(arg)
+ * @param {String} arg
+ * @memberOf Location
+ */
+Location.prototype.replace = function(arg){};
+
+/**
+ * Object Navigator()
+ * @super Object
+ * @constructor
+ * @since Common Usage, no standard
+*/
+function Navigator(){};
+Navigator.prototype = new Object();
+Navigator.prototype.navigator = new Navigator();
+/**
+ * Property appCodeName
+ * @type String
+ * @memberOf Navigator
+ */
+Navigator.prototype.appCodeName = "";
+/**
+ * Property appName
+ * @type String
+ * @memberOf Navigator
+ */
+Navigator.prototype.appName = "";
+/**
+ * Property appVersion
+ * @type String
+ * @memberOf Navigator
+ */
+Navigator.prototype.appVersion = "";
+/**
+ * Property cookieEnabled
+ * @type Boolean
+ * @memberOf Navigator
+ */
+Navigator.prototype.cookieEnabled = new Boolean();
+/**
+ * Property mimeTypes
+ * @type Array
+ * @memberOf Navigator
+ */
+Navigator.prototype.mimeTypes = new Array();
+/**
+ * Property platform
+ * @type String
+ * @memberOf Navigator
+ */
+Navigator.prototype.platform = "";
+/**
+ * Property plugins
+ * @type Array
+ * @memberOf Navigator
+ */
+Navigator.prototype.plugins = new Array();
+/**
+ * Property userAgent
+ * @type String
+ * @memberOf Navigator
+ */
+Navigator.prototype.userAgent = "";
+/**
+ * function javaEnabled()
+ * @returns {Boolean}
+ * @memberOf Navigator
+ */
+Navigator.prototype.javaEnabled = function(){return false;};
+
+/**
+ * Object Screen()
+ * @super Object
+ * @constructor
+ * @since Common Usage, no standard
+*/
+function Screen(){};
+Screen.prototype = new Object();
+Screen.prototype.screen = new Screen();
+/**
+ * Property availHeight
+ * @type Number
+ * @memberOf Screen
+ */
+Navigator.prototype.availHeight = 0;
+/**
+ * Property availWidth
+ * @type Number
+ * @memberOf Screen
+ */
+Navigator.prototype.availWidth = 0;
+/**
+ * Property colorDepth
+ * @type Number
+ * @memberOf Screen
+ */
+Navigator.prototype.colorDepth = 0;
+/**
+ * Property height
+ * @type Number
+ * @memberOf Screen
+ */
+Navigator.prototype.height = 0;
+/**
+ * Property width
+ * @type Number
+ * @memberOf Screen
+ */
+Navigator.prototype.width = 0;
+
+Event.prototype=new Object();
+// PhaseType
+Event.prototype.CAPTURING_PHASE = 1;
+Event.prototype.AT_TARGET = 2;
+Event.prototype.BUBBLING_PHASE = 3;
+
+Event.prototype.type="";
+Event.prototype.target=new EventTarget();
+Event.prototype.currentTarget=new EventTarget();
+Event.prototype.eventPhase=0;
+Event.prototype.bubbles=false;
+Event.prototype.cancelable=false;
+Event.prototype.timeStamp=0;
+Event.prototype.stopPropagation=function(){};
+Event.prototype.preventDefault=function(){};
+/**
+ * @param {String} eventTypeArg
+ * @param {Boolean} canBubbleArg
+ * @param {Boolean} cancelableArg
+ */
+Event.prototype.initEvent=function(eventTypeArg, 
+                             canBubbleArg, 
+                             cancelableArg){};
+function EventListener(){};
+EventListener.prototype=new Object();
+/**
+ * @param {Event} event
+ * @memberOf EventListener
+ */
+EventListener.prototype.handleEvent=function(event){};
+
+function EventTarget(){};
+EventTarget.prototype=new Object();
+/*
+ * These functions may need to be moved into a browser specific library.
+ */
+/**
+ * @memberOf Window
+ * @param event {Event}
+ * @throws {EventException}
+ */
+EventTarget.prototype.dispatchEvent=function(event){};
+
+// https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener
+/**
+ * @memberOf Window
+ * @param {String} type
+ * @param {EventListener} listener
+ * @param {Boolean} useCapture
+ */
+EventTarget.prototype.addEventListener=function(type, listener, useCapture){};
+// https://developer.mozilla.org/en-US/docs/DOM/element.removeEventListener
+/**
+ * @memberOf Window
+ * @param {String} type
+ * @param {EventListener} listener
+ * @param {Boolean} useCapture
+ */
+EventTarget.prototype.removeEventListener=function(type, listener, useCapture){};
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js
new file mode 100644
index 0000000..d199ab6
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js
@@ -0,0 +1,922 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ ******************************************************************************/
+
+/**
+ * function querySelector(selectors)
+ * http://www.w3.org/TR/2012/PR-selectors-api-20121213
+ * @param {String} selectors
+ * @memberOf Document
+ * @returns {Element}      
+ */ 
+Document.prototype.querySelector=function(selectors){return new Element();};
+
+/**
+ * function querySelectorAll(selectors)
+ * http://www.w3.org/TR/2012/PR-selectors-api-20121213
+ * @param {String} selectors
+ * @memberOf Document
+ * @returns {NodeList}      
+ */ 
+Document.prototype.querySelectorAll=function(selectors){return new NodeList();};
+
+/**
+ * function querySelector(selectors)
+ * http://www.w3.org/TR/2012/PR-selectors-api-20121213
+ * @param {String} selectors
+ * @memberOf DocumentFragment
+ * @returns {Element}      
+ */ 
+DocumentFragment.prototype.querySelector=function(selectors){return new Element();};
+
+/**
+ * function querySelectorAll(selectors)
+ * http://www.w3.org/TR/2012/PR-selectors-api-20121213
+ * @param {String} selectors
+ * @memberOf DocumentFragment
+ * @returns {NodeList}      
+ */ 
+DocumentFragment.prototype.querySelectorAll=function(selectors){return new NodeList();};
+
+/**
+ * function querySelector(selectors)
+ * http://www.w3.org/TR/2012/PR-selectors-api-20121213
+ * @param {String} selectors
+ * @memberOf Element
+ * @returns {Element}      
+ */ 
+Element.prototype.querySelector=function(selectors){return new Element();};
+
+/**
+ * function querySelectorAll(selectors)
+ * http://www.w3.org/TR/2012/PR-selectors-api-20121213
+ * @param {String} selectors
+ * @memberOf Element
+ * @returns {NodeList}      
+ */ 
+Element.prototype.querySelectorAll=function(selectors){return new NodeList();};
+
+/**
+ * Property state
+ * @type Object
+ * @memberOf History
+ */
+History.prototype.state=new Object();
+
+/**
+ * function pushState(data,title,url)
+ * http://www.w3.org/TR/2012/CR-html5-20121217/browsers.html#history
+ * @param {Object} data
+ * @param {String} title
+ * @param {String} url - optional
+ * @memberOf History
+ */
+History.prototype.pushState=function(data,title,url){};
+
+/**
+ * function replaceState(data,title,url)
+ * http://www.w3.org/TR/2012/CR-html5-20121217/browsers.html#history
+ * @param {Object} data
+ * @param {String} title
+ * @param {String} url - optional
+ * @memberOf History
+ */
+History.prototype.replaceState=function(data,title,url){};
+
+/**
+ * Property sessionStorage
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @type Storage
+ * @memberOf Window
+ */
+Window.prototype.sessionStorage=new Storage();
+
+/**
+ * Property localStorage
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @type Storage
+ * @memberOf Window
+ */
+Window.prototype.localStorage=new Storage();
+
+/**
+ * Object Storage
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ */
+function Storage(){};
+Storage.prototype=new Object();
+
+/**
+ * Property length
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @type Number
+ * @memberOf Storage
+ */
+Storage.prototype.length=new Number();
+
+/**
+ * function key(index)
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @param {Number} index
+ * @memberOf Storage
+ * @returns String
+ */
+Storage.prototype.key=function(index){return new String();};
+
+/**
+ * function getItem(key)
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @param {String} key
+ * @memberOf Storage
+ * @returns String
+ */
+Storage.prototype.getItem=function(key){return new String();};
+
+/**
+ * function setItem(key,value)
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @param {String} key
+ * @param {String} value
+ * @memberOf Storage
+ */
+Storage.prototype.setItem=function(key,value){};
+
+/**
+ * function removeItem(key)
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @param {String} key
+ * @memberOf Storage
+ */
+Storage.prototype.removeItem=function(key){};
+
+/**
+ * function clear()
+ * http://www.w3.org/TR/2011/CR-webstorage-20111208
+ * @memberOf Storage
+ */
+Storage.prototype.clear=function(){};
+
+/**
+ * Object WebSocket
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @constructor
+ * @param {String} url
+ */
+function WebSocket(url){};
+WebSocket.prototype=new Object();
+
+/**
+ * Constant WebSocket.CONNECTING=0
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @constant
+ * @type Number
+ */
+WebSocket.prototype.CONNECTING=0;
+
+/**
+ * Constant WebSocket.OPEN=1
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @constant
+ * @type Number
+ */
+WebSocket.prototype.OPEN=1;
+
+/**
+ * Constant WebSocket.CLOSING=2
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @constant
+ * @type Number
+ */
+WebSocket.prototype.CLOSING=2;
+
+/**
+ * Constant WebSocket.CLOSED=3
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @constant
+ * @type Number
+ */
+WebSocket.prototype.CLOSED=3;
+
+/**
+ * Property url
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @type String
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.url=new String();
+
+/**
+ * Property readyState
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @type Number
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.readyState=new Number();
+
+/**
+ * Property bufferedAmount
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @type Number
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.bufferedAmount=new Number();
+
+/**
+ * Property extensions
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @type String
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.extensions=new String();
+
+/**
+ * Property protocol
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @type String
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.protocol=new String();
+
+/**
+ * Property binaryType
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @type String
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.binaryType=new String();
+
+/**
+ * function close(code,reason)
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @param {Number} code - optional
+ * @param {String} reason - optional
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.close=function(code,reason){};
+
+/**
+ * function send(data)
+ * http://www.w3.org/TR/2012/CR-websockets-20120920
+ * @param {Object} data - may be a String, Blob, ArrayBuffer, or ArrayBufferView 
+ * @memberOf WebSocket
+ */
+WebSocket.prototype.send=function(data){};
+
+/**
+ * Property geolocation
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Geolocation
+ * @memberOf Navigator
+ */
+Navigator.prototype.geolocation=new Geolocation();
+
+/**
+ * Object Geolocation
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ */
+function Geolocation(){};
+Geolocation.prototype=new Object();
+
+/**
+ * function getCurrentPosition(successCallback,errorCallback,options)
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510/
+ * @param {Function} successCallback (Position pos)
+ * @param {Function} errorCallback (PositionError error) - optional
+ * @param {PositionOptions} options - optional
+ * @memberOf Geolocation
+ */
+Geolocation.prototype.getCurrentPosition=function(successCallback,errorCallback,options){};
+
+/**
+ * function watchPosition(successCallback,errorCallback,options)
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510/
+ * @param {Function} successCallback (Position pos)
+ * @param {Function} errorCallback (PositionError error) - optional
+ * @param {PositionOptions} options - optional
+ * @memberOf Geolocation
+ * @returns {Number}
+ */
+Geolocation.prototype.watchPosition=function(successCallback,errorCallback,options){return new Number();};
+
+/**
+ * function clearWatch(watchId)
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @param {Number} watchId
+ * @memberOf Geolocation
+ */
+Geolocation.prototype.clearWatch=function(watchId){};
+
+/**
+ * Object Coordinates
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ */
+function Coordinates(){};
+Coordinates.prototype=new Object();
+
+/**
+ * Property latitude
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Coordinates
+ */
+Coordinates.prototype.latitude=new Number();;
+
+/**
+ * Property longitude
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Coordinates
+ */
+Coordinates.prototype.longitude=new Number();;
+
+/**
+ * Property altitude
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Coordinates
+ */
+Coordinates.prototype.altitude=new Number();;
+
+/**
+ * Property accuracy
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Coordinates
+ */
+Coordinates.prototype.accuracy=new Number();;
+
+/**
+ * Property altitudeAccuracy
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Coordinates
+ */
+Coordinates.prototype.altitudeAccuracy=new Number();;
+
+/**
+ * Property heading
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Coordinates
+ */
+Coordinates.prototype.heading=new Number();;
+
+/**
+ * Property speed
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Coordinates
+ */
+Coordinates.prototype.speed=new Number();
+
+/**
+ * Object Position
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ */
+function Position(){};
+Position.prototype=new Object();
+
+/**
+ * Property coords
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Coordinates
+ * @memberOf Position
+ */
+Position.prototype.coords=new Coordinates();
+
+/**
+ * Property timestamp
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf Position
+ */
+Position.prototype.timestamp=new Number;
+
+/**
+ * Object PositionError
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ */
+function PositionError(){};
+PositionError.prototype=new Object();
+
+/**
+ * Constant PositionError.PERMISSION_DENIED=1
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @constant
+ * @type Number
+ */
+PositionError.prototype.PERMISSION_DENIED=1;
+
+/**
+ * Constant PositionError.POSITION_UNAVAILABLE=2
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @constant
+ * @type Number
+ */
+PositionError.prototype.POSITION_UNAVAILABLE=2;
+
+/**
+ * Constant PositionError.TIMEOUT=3
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @constant
+ * @type Number
+ */
+PositionError.prototype.TIMEOUT=3;
+
+/**
+ * Property code
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf PositionError
+ */
+PositionError.prototype.code=new Number();
+
+/**
+ * Property message
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type String
+ * @memberOf PositionError
+ */
+PositionError.prototype.message=new String();
+
+/**
+ * Object PositionOptions
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ */
+function PositionOptions(){};
+PositionOptions.prototype=new Object();
+
+/**
+ * Property enableHighAccuracy
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Boolean
+ * @memberOf PositionOptions
+ */
+PositionOptions.prototype.enableHighAccuracy=new Boolean();
+
+/**
+ * Property timeout
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf PositionOptions
+ */
+PositionOptions.prototype.timeout=new Number();
+
+/**
+ * Property maximumAge
+ * http://www.w3.org/TR/2012/PR-geolocation-API-20120510
+ * @type Number
+ * @memberOf PositionOptions
+ */
+PositionOptions.prototype.maximumAge=new Number();
+
+/**
+ * Object TimeRanges
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ */
+function TimeRanges(){};
+TimeRanges.prototype=new Object();
+
+/**
+ * Property length
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf TimeRanges
+ */
+TimeRanges.prototype.length=new Number();
+
+/**
+ * function start(index)
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @param {Number} index
+ * @memberOf TimeRanges
+ * @returns {Number}
+ */
+function start(index) {return new Number();};
+
+/**
+ * function end(index)
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @param {Number} index
+ * @memberOf TimeRanges
+ * @returns {Number}
+ */
+function end(index) {return new Number();};
+
+/**
+ * Object MediaError
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ */
+function MediaError(){};
+MediaError.prototype=new Object();
+
+/**
+ * Constant MediaError.MEDIA_ERR_ABORTED=1
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+MediaError.prototype.MEDIA_ERR_ABORTED=1;
+
+/**
+ * Constant MediaError.MEDIA_ERR_NETWORK=2
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+MediaError.prototype.MEDIA_ERR_NETWORK=2;
+
+/**
+ * Constant MediaError.MEDIA_ERR_DECODED=3
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+MediaError.prototype.MEDIA_ERR_DECODE=3;
+
+/**
+ * Constant MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED=4
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+MediaError.prototype.MEDIA_ERR_SRC_NOT_SUPPORTED=4;
+
+/**
+ * Property code
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf MediaError
+ */
+MediaError.prototype.code=new Number();
+
+/**
+ * Object HTMLMediaElement
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @augments HTMLElement
+ * @see HTMLElement
+ */
+function HTMLMediaElement(){};
+HTMLMediaElement.prototype = new HTMLElement();
+
+/**
+ * Property src
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type String
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.src=new String();
+
+/**
+ * Property currentSrc
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type String
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.currentSrc=new String();
+
+/**
+ * Property crossOrigin
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type String
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.crossOrigin=new String();
+
+/**
+ * Constant HTMLMediaElement.NETWORK_EMPTY=0
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.NETWORK_EMPTY=0;
+
+/**
+ * Constant HTMLMediaElement.NETWORK_IDLE=1
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.NETWORK_IDLE=1;
+
+/**
+ * Constant HTMLMediaElement.NETWORK_LOADING=2
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.NETWORK_LOADING=2;
+
+/**
+ * Constant HTMLMediaElement.NETWORK_NO_SOURCE=3
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.NETWORK_NO_SOURCE=3;
+
+/**
+ * Property networkState
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.networkState=new Number();
+
+/**
+ * Property preload
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type String
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.preload=new String();
+
+/**
+ * Property buffered
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type TimeRanges
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.buffered=new TimeRanges();
+
+/**
+ * function load()
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.load=function(){};
+
+/**
+ * function canPlayType(type)
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @param {String} type
+ * @memberOf HTMLMediaElement
+ * @returns {String}
+ */
+HTMLMediaElement.prototype.canPlayType=function(type){new String();};
+
+/**
+ * Constant HTMLMediaElement.HAVE_NOTHING=0
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.HAVE_NOTHING=0;
+
+/**
+ * Constant HTMLMediaElement.HAVE_METADATA=1
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.HAVE_METADATA=1;
+
+/**
+ * Constant HTMLMediaElement.HAVE_CURRENT_DATA=2
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.HAVE_CURRENT_DATA=2;
+
+/**
+ * Constant HTMLMediaElement.HAVE_FUTURE_DATA=3
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.HAVE_FUTURE_DATA=3;
+
+/**
+ * Constant HTMLMediaElement.HAVE_ENOUGH_DATA=4
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @constant
+ * @type Number
+ */
+HTMLMediaElement.prototype.HAVE_ENOUGH_DATA=4;
+
+/**
+ * Property readyState
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.readyState=new Number();
+
+/**
+ * Property seeking
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.seeking=new Boolean();
+
+/**
+ * Property currentTime
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.currentTime=new Number();
+
+/**
+ * Property initialTime
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */         
+HTMLMediaElement.prototype.initialTime=new Number();
+
+/**
+ * Property duration
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.duration=new Number();
+
+/**
+ * Property startOffsetTime
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Date
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.startOffsetTime=new Date();
+
+/**
+ * Property paused
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.paused=new Boolean();
+
+/**
+ * Property defaultPlaybackRate
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.defaultPlaybackRate=new Number();
+
+/**
+ * Property playbackRate
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.playbackRate=new Number();
+
+/**
+ * Property played
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type TimeRanges
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.played=new TimeRanges();
+
+/**
+ * Property seekable
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type TimeRanges
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.seekable=new TimeRanges();
+
+/**
+ * Property ended
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.ended=new Boolean();
+
+/**
+ * Property autoplay
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.autoplay=new Boolean();
+
+/**
+ * Property loop
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.loop=new Boolean();
+
+/**
+ * function play()
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.play=function(){};
+
+/**
+ * function pause()
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.pause=function(){};
+
+/**
+ * Property controls
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.controls=new Boolean();
+
+/**
+ * Property volume
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.volume=new Number();
+
+/**
+ * Property muted
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.muted=new Boolean();
+         
+/**
+ * Property defaultMuted
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Boolean
+ * @memberOf HTMLMediaElement
+ */
+HTMLMediaElement.prototype.defaultMuted=new Boolean();
+
+/**
+ * Object HTMLAudioElement
+ * http://www.w3.org/TR/2012/WD-html5-20120329/the-audio-element.html
+ * @augments HTMLMediaElement
+ * @constructor
+ * @param {String} src
+ * @see HTMLMediaElement
+ */
+function HTMLAudioElement(src){};
+HTMLAudioElement.prototype = new HTMLMediaElement();
+
+/**
+ * Object HTMLVideoElement
+ * http://www.w3.org/TR/2012/WD-html5-20120329/the-audio-element.html
+ * @augments HTMLMediaElement
+ * @see HTMLMediaElement
+ */
+function HTMLVideoElement(){};
+HTMLVideoElement.prototype = new HTMLMediaElement();
+
+/**
+ * Property width
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLVideoElement
+ */
+HTMLVideoElement.prototype.width=new Number();
+
+/**
+ * Property height
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLVideoElement
+ */
+HTMLVideoElement.prototype.height=new Number();
+
+/**
+ * Property videoWidth
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLVideoElement
+ */
+HTMLVideoElement.prototype.videoWidth=new Number();
+
+/**
+ * Property videoHeight
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type Number
+ * @memberOf HTMLVideoElement
+ */
+HTMLVideoElement.prototype.videoHeight=new Number();
+
+/**
+ * Property poster
+ * http://www.w3.org/TR/2012/WD-html5-20120329/media-elements.html
+ * @type String
+ * @memberOf HTMLVideoElement
+ */
+HTMLVideoElement.prototype.poster=new String();
+
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js
new file mode 100644
index 0000000..2066ffb
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js
@@ -0,0 +1,1458 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ ******************************************************************************
+* Please see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
+*/
+
+/**
+  * Object Object()
+  * @constructor
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function Object(){};
+ /**
+  * function toString() 
+  * @memberOf   Object
+  * @returns {String}
+  * @see     Object
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Object.prototype.toString = function(){return "";};
+ /**
+  * function toLocaleString() 
+  * @memberOf   Object
+  * @returns {String}
+  * @see     Object
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Object.prototype.toLocaleString = function(){return "";};
+ /**
+  * function valueOf() 
+  * @memberOf   Object
+  * @returns {Object}
+  * @see     Object
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Object.prototype.valueOf = function(){return new Object();};
+ /**
+  * function hasOwnProperty(name) 
+  * @memberOf   Object
+  * @param   {String} name
+  * @returns {Boolean}
+  * @see     Object
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Object.prototype.hasOwnProperty = function(name){return true;};
+ /**
+  * function isPrototypeOf(o) 
+  * @memberOf   Object
+  * @param   {Object} o
+  * @returns {Boolean}
+  * @see     Object
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Object.prototype.isPrototypeOf = function(o){return true;};
+ /**
+  * function propertyIsEnumerable(name) 
+  * @memberOf   Object
+  * @param   {Object} name
+  * @returns {Boolean}
+  * @see     Object
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Object.prototype.propertyIsEnumerable = function(name){return true;};
+/**
+  * Property constructor
+  * @type  Function
+  * @memberOf Object
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */ 
+Object.prototype.constructor = new Function();
+
+/**
+  * Object String()
+  * @constructor
+  * @extends Object
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function String(){}
+String.prototype = new Object();
+/**
+  * static function fromCharCode(charCode1, ...)
+  * @memberOf   String
+  * @param {Number} charCode
+  * @returns {String}
+  * @static
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.fromCharCode = function(charCode){return "";};
+/**
+  * Property length
+  * @type    Number
+  * @memberOf   String
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.length = 1;
+ /**
+  * function charAt(position) 
+  * @memberOf   String
+  * @param   {Number} position
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.charAt = function(position){return "";};
+ /**
+  * function charCodeAt(position) 
+  * @memberOf   String
+  * @param   {Number} position
+  * @returns {Number}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.charCodeAt = function(position){return 0;};
+ /**
+  * function concat(value1, ...) 
+  * @memberOf   String
+  * @param {String} value
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.concat = function(value){return "";};
+ /**
+  * function indexOf(searchString, startPosition) 
+  * @memberOf   String
+  * @param   {String} searchString
+  * @param   {Number} startPosition
+  * @returns {Number}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.indexOf = function(searchString, startPosition){return 1;};
+ /**
+  * function lastIndexOf(searchString, startPosition) 
+  * @memberOf   String
+  * @param   {String} searchString
+  * @param   {Number} startPosition
+  * @returns {Number}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.lastIndexOf = function(searchString, startPosition){return 1;};
+ /**
+  * function localeCompare(otherString) 
+  * @memberOf   String
+  * @param   {String} otherString
+  * @returns {Number}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.localeCompare = function(otherString){return 0;};
+ /**
+  * function match(regexp) 
+  * @memberOf   String
+  * @param   {RegExp} regexp
+  * @returns {Array}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.match = function(regexp){return [];};
+ /**
+  * function replace(regexp, replaceValue) 
+  * @memberOf   String
+  * @param   {RegExp} regexp
+  * @param   {String} replaceValue
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.replace = function(regexp, replaceValue){return "";};
+ /**
+  * function search(regexp) 
+  * @memberOf   String
+  * @param   {RegExp} regexp
+  * @returns {Number}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.search = function(regexp){return 1;};
+ /**
+  * function slice(start, end) 
+  * @memberOf   String
+  * @param   {Number} start
+  * @param   {Number} end
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.slice = function(start, end){return "";};
+ /**
+  * function split(separator, limit) 
+  * @memberOf   String
+  * @param   {String} separator
+  * @param   {Number} limit
+  * @returns {Array}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.split = function(separator, limit){return [];};
+ /**
+  * function substring(start, end) 
+  * @memberOf   String
+  * @param   {Number} start
+  * @param   {Number} end
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.substring = function(start, end){return "";};
+ /**
+  * function toLowerCase() 
+  * @memberOf   String
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.toLowerCase = function(){return "";};
+ /**
+  * function toLocaleLowerCase() 
+  * @memberOf   String
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.toLocaleLowerCase = function(){return "";};
+ /**
+  * function toUpperCase() 
+  * @memberOf   String
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.toUpperCase= function (){return "";};
+ /**
+  * function toLocaleUpperCase() 
+  * @memberOf   String
+  * @returns {String}
+  * @see     String
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+String.prototype.toLocaleUpperCase = function(){return "";};
+
+/**
+  * Object Number()
+  * @constructor
+  * @extends Object
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function Number(){}
+Number.prototype = new Object();
+/**
+  * property MIN_VALUE
+  * @type Number
+  * @memberOf Number
+  * @static
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Number.MIN_VALUE = 0;
+/**
+  * property MAX_VALUE
+  * @type Number
+  * @memberOf Number
+  * @static
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Number.MAX_VALUE = 0 ;
+/**
+  * property NaN
+  * @type Number
+  * @memberOf Number
+  * @static
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Number.NaN = 0;
+/**
+  * property NEGATIVE_INFINITY
+  * @type Number
+  * @memberOf Number
+  * @static
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Number.NEGATIVE_INFINITY = 0;
+/**
+  * property POSITIVE_INFINITY
+  * @type Number
+  * @memberOf Number
+  * @static
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Number.POSITIVE_INFINITY = 0;
+/**
+  * function toFixed(fractionDigits)
+  * @memberOf Number
+  * @param {Number} fractionDigits
+  * @returns {String}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Number.prototype.toFixed = function(fractionDigits){return "";};
+/**
+ * function toExponential(fractionDigits)
+ * @memberOf Number
+ * @param {Number} fractionDigits
+ * @returns {String}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+*/
+Number.prototype.toExponential = function(fractionDigits){return "";};
+/**
+ * function toPrecision(precision)
+ * @memberOf Number
+ * @param {Number} fractionDigits
+ * @returns {String}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+*/
+Number.prototype.toPrecision = function(fractionDigits){return "";};
+
+/**
+ * Object Boolean()
+ * @constructor
+ * @extends Object
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition. 
+*/
+function Boolean(){};
+Boolean.prototype = new Object();
+
+/**
+  * Object Array()
+  * @constructor
+  * @extends Object
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function Array(){};
+Array.prototype = new Object();
+/**
+  * Property length
+  * @type    Number
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Array.prototype.length = 1;
+/**
+  * function concat(args)
+  * @param {Array} args
+  * @returns {Array}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Array.prototype.concat = function(args){return [];};
+/**
+  * function join(seperator)
+  * @param {String} seperator
+  * @returns {Array}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Array.prototype.join = function(seperator){return [];};
+/**
+  * function pop()
+  * @returns {Object}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */  
+Array.prototype.pop = function(){return new Object();};
+/**
+  * function push(args)
+  * @param {Array} args
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.   
+ */  
+Array.prototype.push = function(args){};
+/**
+  * function reverse()
+  * @returns {Array}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Array.prototype.reverse = function(){return [];};
+/**
+  * function shift()
+  * @returns {Object}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.     
+ */  
+Array.prototype.shift = function(){return new Object();};
+/**
+  * function slice(start, end)
+  * @param {Number} start
+  * @param {Number} end
+  * @returns {Array}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.   
+ */  
+Array.prototype.slice = function(start, end){return [];};
+/**
+  * function sort(funct)
+  * @param {Function} funct
+  * @returns {Array}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */  
+Array.prototype.sort = function(funct){return [];};
+/**
+  * function splice(start, deletecount, items)
+  * @param {Number} start
+  * @param {Number} deletecount
+  * @param {Array} items
+  * @returns {Array}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */  
+Array.prototype.splice = function(start, deletecount, items){return [];};
+/**
+  * function unshift(items)
+  * @param {Object} values
+  * @returns {Number}
+  * @memberOf   Array
+  * @see     Array
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.   
+ */  
+Array.prototype.unshift = function(values){return 1;};
+
+/**
+  * Object Function()
+  * @constructor
+  * @extends Object
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function Function(){};
+Function.prototype = new Object();
+/**
+ * function apply (thisObject, argArray)
+ * @param {Object} thisObject
+ * @param {Array} argArray
+ * @returns {Object}
+ * @since   Standard ECMA-262 3rd. Edition 
+ * @since   Level 2 Document Object Model Core Definition.
+ */ 
+Function.prototype.apply = function(thisArg, argArray){return new Object();};
+/**
+  * function call (thisObject, args)
+  * @param {Object} thisObject
+  * @param {Object} args
+  * @returns {Object}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */ 
+Function.prototype.call = function(thisObject, args){return new Object();};
+/**
+  * property length
+  * @type    Number
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */ 
+Function.prototype.length = 0;
+
+/**
+  * Object Date(s)
+  * @constructor
+  * @param {String} s
+  * @extends Object
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+function Date(s){};
+Date.prototype = new Object();
+/**
+ * function UTC(hour, min, sec, ms)
+ * @memberOf Date
+ * @param {Number} hour
+ * @param {Number} min
+ * @param {Number} sec
+ * @param {Number} ms  
+ * @returns {Number}
+ * @static
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+*/
+Date.UTC = function(hour, min, sec, ms){return 0;};
+/**
+  * function parse(string)
+  * @memberOf Date
+  * @param {String} string
+  * @returns {Number}
+  * @static
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.parse = function(string){return 0;};
+/**
+  * function toDateString()
+  * @memberOf Date
+  * @returns {String}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.toDateString = function(){return "";};
+/**
+  * function toTimeString()
+  * @memberOf Date
+  * @returns {String}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.toTimeString = function(){return "";};
+/**
+  * function toLocaleString()
+  * @memberOf Date
+  * @returns {String}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Date.prototype.toLocaleString = function(){return "";};
+/**
+  * function toLocaleDateString()
+  * @memberOf Date
+  * @returns {String}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.toLocaleDateString = function(){return "";};
+/**
+  * function toLocaleTimeString()
+  * @memberOf Date
+  * @returns {String}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.toLocaleTimeString = function(){return "";};
+/**
+  * function valueOf()
+  * @memberOf Date
+  * @returns {Object}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.valueOf = function(){return new Object();};
+/**
+  * function getFullYear()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getFullYear = function(){return 0;};
+/**
+  * function getTime()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.  
+ */
+Date.prototype.getTime = function(){return 0;};
+/**
+  * function getUTCFullYear()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Date.prototype.getUTCFullYear = function(){return 0;};
+/**
+  * function getMonth()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getMonth = function(){return 0;};
+/**
+  * function getUTCMonth()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getUTCMonth = function(){return 0;};
+/**
+  * function getDate()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getDate = function(){return 0;};
+/**
+  * function getUTCDate()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getUTCDate = function(){return 0;};
+/**
+  * function getDay()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Date.prototype.getDay = function(){return 0;};
+/**
+  * function getUTCDay()
+  * @memberOf Date
+  * @type Number
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+     
+ */
+Date.prototype.getUTCDay=function(){return 0;};
+/**
+  * function getHours()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Date.prototype.getHours = function(){return 0;};
+/**
+  * function getUTCHours()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getUTCHours = function(){return 0;};
+/**
+  * function getMinutes()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getMinutes = function(){return 0;};
+/**
+  * function getUTCMinutes()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getUTCMinutes = function(){return 0;};
+/**
+  * function getSeconds()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getSeconds = function(){return 0;};
+/**
+  * function getUTCSeconds()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getUTCSeconds = function(){return 0;};
+/**
+  * function getMilliseconds()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getMilliseconds = function(){return 0;};
+/**
+  * function getUTCMilliseconds()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getUTCMilliseconds = function(){return 0;};
+/**
+  * function getTimezoneOffset()
+  * @memberOf Date
+  * @returns {Number}
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.getTimezoneOffset = function(){return 0;};
+/**
+  * function setTime(value)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} value
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setTime = function(value){return 0;};
+
+/**
+  * function setMilliseconds(value)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} value
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setMilliseconds = function(value){return 0;};
+/**
+  * function setUTCMilliseconds(ms)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} ms
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setUTCMilliseconds = function(ms){return 0;};
+/**
+  * function setSeconds(sec,ms)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} sec
+  * @param {Number} ms
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setSeconds = function(sec,ms){return 0;};
+/**
+  * function setUTCSeconds(sec,ms)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} sec
+  * @param {Number} ms
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setUTCSeconds=function(sec,ms){return 0;};
+/**
+  * function setMinutes(min,sec,ms)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} min
+  * @param {Number} sec
+  * @param {Number} ms
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setMinutes=function(min,sec,ms){return 0;};
+/**
+  * function setUTCMinute(min,sec,ms)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} min
+  * @param {Number} sec
+  * @param {Number} ms
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setUTCMinute = function(min,sec,ms){return 0;};
+/**
+  * function setHours(hour, min,sec,ms)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} hour
+  * @param {Number} min
+  * @param {Number} sec
+  * @param {Number} ms
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setHours = function(hour,min,sec,ms){return 0;};
+/**
+  * function setUTCHours(hour, min,sec,ms)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} hour
+  * @param {Number} min
+  * @param {Number} sec
+  * @param {Number} ms
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setUTCHours = function(hour,min,sec,ms){return 0;};
+
+/**
+  * function setDate(date)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} date
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setDate = function(date){return 0;};
+
+/**
+  * function setUTCDate(date)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} date
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setUTCDate = function(date){return 0;};
+
+/**
+  * function setMonth(month,date)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} date
+  * @param {Number} month
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Date.prototype.setMonth = function(month,date){return 1;};
+/**
+  * function setUTCMonth(month,date)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} date
+  * @param {Number} month
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setUTCMonth = function(month,date){return 1;};
+/**
+  * function setFullYear(month,date)
+  * @memberOf Date
+  * @returns {Number}
+  * @param {Number} date
+  * @param {Number} month
+  * @param {Number} year
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Date.prototype.setFullYear = function(year, month,date){return 0;};
+/**
+  * function setUTCFullYear(month,date)
+  * @memberOf Date
+  * @returns {Date}
+  * @param {Number} date
+  * @param {Number} month
+  * @param {Number} year
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+Date.prototype.setUTCFullYear = function(year, month,date){};
+/**
+ * function toUTCString()
+ * @memberOf Date
+ * @returns {String}
+ * @since Standard ECMA-262 3rd. Edition
+ * @since Level 2 Document Object Model Core Definition.
+*/
+Date.prototype.toUTCString = function(){return "";};
+
+/**
+  * Property NaN
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+var NaN=0;
+/**
+  * Property Infinity
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+var Infinity=0;
+/**
+  * function eval(s)
+  * @param {String} s
+  * @type Object
+  * @returns {Object}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.     
+ */
+function eval(s){return new Object();};
+
+//@GINO: Bug 197987 (Temp Fix)
+/**
+  * Property debugger
+  * @description Debugger keyword
+ */
+var debugger=null;
+
+/**
+ * Property undefined
+ * @description undefined
+*/
+var undefined=null;
+
+/**
+  * function parseInt(s,radix)
+  * @param {String} s
+  * @param {Number} radix
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+function parseInt(s,radix){return 0;};
+/**
+  * function parseFloat(s)
+  * @param {String} s
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.   
+ */
+function parseFloat(s){return 0;};
+/**
+ * function escape(s)
+ * @param {String} s
+ * @type String
+ * @returns {String}
+ * @since   Standard ECMA-262 3rd. Edition 
+ * @since   Level 2 Document Object Model Core Definition.   
+*/
+function escape(s){return "";};
+/**
+ * function unescape(s)
+ * @param {String} s
+ * @type String
+ * @returns {String}
+ * @since   Standard ECMA-262 3rd. Edition 
+ * @since   Level 2 Document Object Model Core Definition.   
+*/
+function unescape(s){return "";};
+/**
+  * function isNaN(number)
+  * @param {String} number
+  * @type Boolean
+  * @returns {Boolean}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+function isNaN(number){return false;};
+/**
+  * function isFinite(number)
+  * @param {String} number
+  * @type Boolean
+  * @returns {Boolean}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+function isFinite(number){return false;};
+/**
+ * function decodeURI(encodedURI)
+ * @param {String} encodedURI
+ * @type String
+ * @returns {String}
+ * @since   Standard ECMA-262 3rd. Edition 
+ * @since   Level 2 Document Object Model Core Definition.  
+*/
+function decodeURI(encodedURI){return "";};
+/**
+ * @param {String} uriComponent
+ * @type String
+ * @returns {String}
+ * @since   Standard ECMA-262 3rd. Edition 
+ * @since   Level 2 Document Object Model Core Definition.  
+*/
+function decodeURIComponent(uriComponent){return "";};
+/**
+ * function encodeURIComponent(uriComponent)
+ * @param {String} uriComponent
+ * @type String
+ * @returns {String}
+ * @since   Standard ECMA-262 3rd. Edition 
+ * @since   Level 2 Document Object Model Core Definition.    
+*/
+function encodeURIComponent(uriComponent){return "";};
+
+/**
+ * function encodeURIComponent(URI)
+ * @param {String} URI
+ * @type String
+ * @returns {String}
+ * @since   Standard ECMA-262 3rd. Edition 
+ * @since   Level 2 Document Object Model Core Definition.    
+*/
+function encodeURI(URI){return "";};
+
+/**
+  * Object Math(\s)
+  * @super Object
+  * @constructor
+  * @memberOf Math
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+     
+ */
+function Math(){};
+Math.prototype=new Object();
+/**
+  * Property E
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.E=0;
+/**
+  * Property LN10
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.LN10=0;
+/**
+  * Property LN2
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */
+Math.LN2=0;
+/**
+  * Property LOG2E
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.LOG2E=0;
+/**
+  * Property LOG10E
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition. 
+ */
+Math.LOG10E=0;
+/**
+  * Property PI
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+Math.PI=0;
+/**
+  * Property SQRT1_2
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.SQRT1_2=0;
+/**
+  * Property SQRT2
+  * @memberOf Math
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition. 
+ */
+Math.SQRT2=0;
+/**
+  * function abs(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.     
+ */
+Math.abs=function(x){return 0;};
+/**
+  * function acos(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */
+Math.acos=function(x){return 0;};
+/**
+  * function asin(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+Math.asin=function(x){return 0;};
+/**
+  * function atan(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.
+ */
+Math.atan=function(x){return 0;};
+/**
+  * function atan2(x,y)
+  * @memberOf Math
+  * @param {Number} x
+  * @param {Number} y
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+Math.atan2=function(x,y){return 0;};
+/**
+  * function ceil(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.ceil=function(x){return 0;};
+/**
+  * function cos(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+Math.cos=function(x){return 0;};
+/**
+  * function exp(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition. 
+ */
+Math.exp=function(x){return 0;};
+/**
+  * function floor(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+Math.floor=function(x){return 0;};
+/**
+  * function log(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.log=function(x){return 0;};
+/**
+  * function max(arg)
+  * @memberOf Math
+  * @param {Number} args
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.  
+ */
+Math.max=function(args){return 0;};
+/**
+  * function min(arg)
+  * @memberOf Math
+  * @param {Number} args
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.min=function(args){return 0;};
+/**
+  * function pow(x,y)
+  * @memberOf Math
+  * @param {Number} x
+  * @param {Number} y
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.pow=function(x,y){return 0;};
+/**
+  * function pow()
+  * @memberOf Math
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.     
+ */
+Math.random=function(){return 0;};
+/**
+  * function round(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.   
+ */
+Math.round=function(x){return 0;};
+/**
+  * function sin(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.sin=function(x){return 0;};
+/**
+  * function sqrt(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.     
+ */
+Math.sqrt=function(x){return 0;};
+/**
+  * function tan(x)
+  * @memberOf Math
+  * @param {Number} x
+  * @type Number
+  * @returns {Number}
+  * @since   Standard ECMA-262 3rd. Edition 
+  * @since   Level 2 Document Object Model Core Definition.    
+ */
+Math.tan=function(x){return 0;};
+/**
+  * Object RegExp()
+  * @super Object
+  * @constructor
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function RegExp(){};
+RegExp.prototype=new Object();
+/**
+  * function exec(string)
+  * @param {String} string
+  * @returns {Array}
+  * @type Array
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+RegExp.prototype.exec=function(string){return [];};
+/**
+  * function test(string)
+  * @param {String} string
+  * @returns {Boolean}
+  * @type Boolean
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.  
+ */
+RegExp.prototype.test=function(string){return false;};
+/**
+  * property source
+  * @type String
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+RegExp.prototype.source="";
+/**
+  * property global
+  * @type Boolean
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+RegExp.prototype.global=false;
+
+/**
+  * property ignoreCase
+  * @type Boolean
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+RegExp.prototype.ignoreCase=false;
+/**
+  * property multiline
+  * @type Boolean
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+RegExp.prototype.multiline=false;
+/**
+  * property lastIndex
+  * @type Number
+  * @memberOf RegExp
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+RegExp.prototype.lastIndex=0;
+/**
+  * Object Error(message)
+  * @super Object
+  * @constructor
+  * @param {String} message
+  * @memberOf Error
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+function Error(message){};
+Error.prototype=new Object();
+/**
+  * property name
+  * @type String
+  * @memberOf Error
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Error.prototype.name="";
+/**
+  * property message
+  * @type String
+  * @memberOf Error
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition. 
+ */
+Error.prototype.message="";
+/**
+  * Object EvalError()
+  * @super Error
+  * @constructor
+  *
+  * @memberOf EvalError
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function EvalError(){};
+EvalError.prototype=new Error("");
+/**
+  * Object RangeError()
+  * @super Error
+  * @constructor
+  *
+  * @memberOf RangeError
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function RangeError(){};
+RangeError.prototype=new Error("");
+/**
+  * Object ReferenceError()
+  * @super Error
+  * @constructor
+  *
+  * @memberOf ReferenceError
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function ReferenceError(){};
+ReferenceError.prototype=new Error("");
+/**
+  * Object SyntaxError()
+  * @super Error
+  * @constructor
+  *
+  * @memberOf SyntaxError
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function SyntaxError(){};
+SyntaxError.prototype=new Error("");
+/**
+  * Object TypeError()
+  * @super Error
+  * @constructor
+  *
+  * @memberOf TypeError
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function TypeError(){};
+TypeError.prototype=new Error("");
+/**
+  * Object URIError()
+  * @super Error
+  * @constructor
+  *
+  * @memberOf URIError
+  * @since Standard ECMA-262 3rd. Edition
+  * @since Level 2 Document Object Model Core Definition.
+ */
+function URIError(){};
+URIError.prototype=new Error("");
+
+//support for debugger keyword
+var debugger = null;
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js
new file mode 100644
index 0000000..4d6c011
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ ******************************************************************************
+ *
+ * Based on information from https://developer.mozilla.org/En/XMLHttpRequest
+ * and http://msdn2.microsoft.com/en-us/library/ms533062.aspx
+ **/
+
+/**
+* function createRequest
+* @type XMLHttpRequest
+* @memberOf Window
+*/
+Window.prototype.createRequest= function(){return new XMLHttpRequest();};
+/**
+* Object XMLHttpRequest
+* @type constructor
+*/
+XMLHttpRequest.prototype=new Object();
+function XMLHttpRequest(){};
+
+/**
+ * function onreadystatechange
+ * @memberOf XMLHttpRequest
+ */
+XMLHttpRequest.prototype.onreadystatechange=function(){};
+/**
+ * property readyState
+ * @type Number
+ * @memberOf XMLHttpRequest
+ */
+XMLHttpRequest.prototype.readyState=0;
+/**
+ * property responseText
+ * @type String
+ * @memberOf XMLHttpRequest
+ */
+XMLHttpRequest.prototype.responseText="";
+/**
+ * property responseXML
+ * @type Document
+ * @memberOf XMLHttpRequest
+ */
+XMLHttpRequest.prototype.responseXML=new Document();
+/**
+ * property status
+ * @type Number
+ * @memberOf XMLHttpRequest
+ */
+XMLHttpRequest.prototype.status=0;
+/**
+ * property statusText
+ * @type String
+ * @memberOf XMLHttpRequest
+ */
+XMLHttpRequest.prototype.statusText="";
+/**
+ * function abort()
+ * @memberOf XMLHttpRequest
+ */
+XMLHttpRequest.prototype.abort=function(){};
+/**
+* function getAllResponseHeaders()
+* @type String
+* @memberOf XMLHttpRequest
+*/
+XMLHttpRequest.prototype.getAllResponseHeaders=function(){return "";};
+/**
+* function open(method, url, async, username, password)
+* @param {String} method
+* @param {String} url
+* @param {Boolean} optional async
+* @param {String} optional username
+* @param {String} optional password
+* @memberOf XMLHttpRequest
+*/
+XMLHttpRequest.prototype.open=function(method, url, async, username, password){};
+/**
+* function send(body)
+* @param {Object} body
+* @memberOf XMLHttpRequest
+*/
+XMLHttpRequest.prototype.send=function(body){};
+/**
+* function setRequestHeader(header,value)
+* @param {String} header
+* @param {String} value
+* @memberOf XMLHttpRequest
+*/
+XMLHttpRequest.prototype.setRequestHeader=function(header,value){};
+/**
+* function getAllResponseHeaders()
+* @param {String} header
+* @type String
+* @memberOf XMLHttpRequest
+*/
+XMLHttpRequest.prototype.getResponseHeader=function(header){return "";};
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat
new file mode 100644
index 0000000..fb0066a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml
new file mode 100644
index 0000000..a4ee3cb
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<typeInfoHistroy/>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml
new file mode 100644
index 0000000..9e390f5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<qualifiedTypeNameHistroy/>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/dialog_settings.xml
new file mode 100644
index 0000000..304eb7b
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.ui/dialog_settings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="JavaElementSearchActions">
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/1246207659.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/1246207659.index
new file mode 100644
index 0000000..620173a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/1246207659.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/245427358.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/245427358.index
new file mode 100644
index 0000000..620173a
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/245427358.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/2530161858.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/2530161858.index
new file mode 100644
index 0000000..0afc99e
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/2530161858.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/356519060.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/356519060.index
new file mode 100644
index 0000000..fdf7873
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/356519060.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/700875398.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/700875398.index
new file mode 100644
index 0000000..3b08cce
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.jsdt.web.core/jssearch/700875398.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties
new file mode 100644
index 0000000..3b06c27
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.sse.core/task-tags.properties
@@ -0,0 +1,3 @@
+#
+#Tue Sep 28 17:50:19 CEST 2021
+task-tag-projects-already-scanned=GlemmClient,tests,GlemmServices,utils,JsonTraverse,wformServices,wformServiceJar
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml
new file mode 100644
index 0000000..63fae25
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.sse.ui/dialog_settings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="contentassistsize">
+	</section>
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.validation/dep.index b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.validation/dep.index
new file mode 100644
index 0000000..8552eae
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.validation/dep.index
Binary files differ
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.ws.explorer/favorites.wsil b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.ws.explorer/favorites.wsil
new file mode 100644
index 0000000..30427e5
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.ws.explorer/favorites.wsil
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"
+xmlns:wsilwsdl="http://schemas.xmlsoap.org/ws/2001/10/inspection/wsdl/"
+xmlns:wsiluddi="http://schemas.xmlsoap.org/ws/2001/10/inspection/uddi/"
+xmlns:uddi="urn:uddi-org:api">
+</inspection>
+
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.ws.ui/dialog_settings.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.ws.ui/dialog_settings.xml
new file mode 100644
index 0000000..5ca0b77
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.ws.ui/dialog_settings.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+</section>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml
new file mode 100644
index 0000000..37faa16
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.xml.core/default_catalog.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+  <nextCatalog catalog="user_catalog.xml" id="user_catalog"/>
+  <nextCatalog catalog="system_catalog.xml" id="system_catalog"/>
+</catalog>
diff --git a/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml
new file mode 100644
index 0000000..49e5261
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/.plugins/org.eclipse.wst.xml.core/system_catalog.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+  <system systemId="http://maven.apache.org/maven-v4_0_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.m2e.model.edit_1.9.0.20180606-2036.jar!/xsd/maven-v4_0_0.xsd"/>
+  <system systemId="http://maven.apache.org/xsd/maven-4.0.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.m2e.model.edit_1.9.0.20180606-2036.jar!/xsd/maven-v4_0_0.xsd"/>
+  <system systemId="http://maven.apache.org/xsd/settings-1.0.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.m2e.model.edit_1.9.0.20180606-2036.jar!/xsd/settings-v1_0_0.xsd"/>
+  <system systemId="http://maven.apache.org/xsd/profiles-1.0.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.m2e.model.edit_1.9.0.20180606-2036.jar!/xsd/profiles-v1_0_0.xsd"/>
+  <system systemId="http://maven.apache.org/xsd/archetype-1.0.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.m2e.model.edit_1.9.0.20180606-2036.jar!/xsd/archetype-1.0.0.xsd"/>
+  <system systemId="http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.m2e.model.edit_1.9.0.20180606-2036.jar!/xsd/archetype-catalog-1.0.0.xsd"/>
+  <system systemId="http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.m2e.model.edit_1.9.0.20180606-2036.jar!/xsd/archetype-descriptor-1.0.0.xsd"/>
+  <public publicId="-//WAPFORUM//DTD WML 1.1//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/wml11.dtd"/>
+  <public publicId="-//W3C//DTD XHTML 1.0 Strict//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/xhtml1-strict.dtd" webURL="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
+  <public publicId="-//W3C//DTD XHTML 1.0 Transitional//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/xhtml1-transitional.dtd" webURL="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
+  <public publicId="-//W3C//DTD XHTML 1.0 Frameset//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/xhtml1-frameset.dtd" webURL="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"/>
+  <public publicId="-//W3C//DTD XHTML Basic 1.0//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/xhtml-basic10-f.dtd" webURL="http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"/>
+  <public publicId="-//W3C//DTD XHTML 1.1//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/xhtml11-flat.dtd" webURL="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>
+  <public publicId="-//WAPFORUM//DTD XHTML Mobile 1.0//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/xhtml-mobile10-flat.dtd" webURL="http://www.wapforum.org/DTD/xhtml-mobile10.dtd"/>
+  <public publicId="-//WAPFORUM//DTD WML 1.3//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/wml13.dtd" webURL="http://www.wapforum.org/DTD/wml13.dtd"/>
+  <public publicId="-//W3C//DTD HTML 4.01 Frameset//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/frameset.dtd" webURL="http://www.w3.org/TR/html4/frameset.dtd"/>
+  <public publicId="-//W3C//ENTITIES Latin 1//EN//HTML" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/HTMLlat1.ent" webURL="HTMLlat1.ent"/>
+  <public publicId="-//W3C//ENTITIES Special//EN//HTM" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/HTMLspecial.ent" webURL="HTMLspecial.ent"/>
+  <public publicId="-//W3C//ENTITIES Symbols//EN//HTML" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/HTMLsymbol.ent" webURL="HTMLsymbol.ent"/>
+  <public publicId="-//W3C//DTD HTML 4.01 Transitional//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/loose.dtd" webURL="http://www.w3.org/TR/html4/loose.dtd"/>
+  <public publicId="-//W3C//DTD HTML 4.01//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/strict.dtd" webURL="http://www.w3.org/TR/html4/strict.dtd"/>
+  <uri name="http://schemas.xmlsoap.org/wsdl/" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/wsdl.xsd"/>
+  <uri name="http://schemas.xmlsoap.org/wsdl/soap/" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/soap.xsd"/>
+  <uri name="http://schemas.xmlsoap.org/wsdl/http/" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/http.xsd"/>
+  <uri name="http://schemas.xmlsoap.org/wsdl/mime/" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/wsdl-mime.xsd"/>
+  <uri name="http://schemas.xmlsoap.org/soap/encoding/" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/soapenc.xsd"/>
+  <uri name="http://schemas.xmlsoap.org/soap/envelope/" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/soapenv.xsd"/>
+  <uri name="urn:oasis:names:tc:entity:xmlns:xml:catalog" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/xmlcatalog11.xsd"/>
+  <uri name="http://www.w3.org/TR/html4/loose.dtd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/loose.dtd"/>
+  <uri name="http://www.w3.org/TR/html4/strict.dtd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/dtds/strict.dtd"/>
+  <uri name="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/ws-securitypolicy-1.2.xsd"/>
+  <uri name="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200802" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/ws-securitypolicy.xsd"/>
+  <uri name="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.wst.standard.schemas_1.0.800.v201711201732.jar!/xsd/xmldsig-core-schema.xsd"/>
+  <system systemId="http://www.w3.org/2001/xml.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.xsd_2.14.0.v20180127-0547.jar!/cache/www.w3.org/2001/xml.xsd"/>
+  <uri name="http://www.w3.org/2001/XMLSchema" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.xsd_2.14.0.v20180127-0547.jar!/cache/www.w3.org/2001/XMLSchema.xsd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_1_2.dtd" webURL="http://java.sun.com/j2ee/dtds/application_1_2.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_1_3.dtd" webURL="http://java.sun.com/dtd/application_1_3.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_1_2.dtd" webURL="http://java.sun.com/j2ee/dtds/application-client_1_2.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_1_3.dtd" webURL="http://java.sun.com/dtd/application-client_1_3.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD Connector 1.0//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/connector_1_0.dtd" webURL="http://java.sun.com/dtd/connector_1_0.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_1_1.dtd" webURL="http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_2_0.dtd" webURL="http://java.sun.com/dtd/ejb-jar_2_0.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_2_2.dtd" webURL="http://java.sun.com/j2ee/dtds/web-app_2.2.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_2_3.dtd" webURL="http://java.sun.com/dtd/web-app_2_3.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/facelet-taglib_1_0.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_1_0.dtd" webURL="http://java.sun.com/dtd/web-facesconfig_1_0.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_1_1.dtd" webURL="http://java.sun.com/dtd/web-facesconfig_1_1.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-jsptaglibrary_1_1.dtd" webURL="http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"/>
+  <public publicId="-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-jsptaglibrary_1_2.dtd" webURL="http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_1_4.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/application_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_1_4.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/application_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_5.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_5.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/application_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_7.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application_8.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application_8.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_1_4.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/application-client_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_1_4.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/application-client_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_5.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application-client_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_5.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/application-client_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application-client_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application-client_7.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_7.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/application-client_8.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/application-client_8.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/batchXML_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/batchXML_1_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/jobXML_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jobXML_1_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/beans_1_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/beans_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/beans_1_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/beans_1_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/beans_2_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/bindingschema_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/jaxb/bindingschema_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/bindingschema_2_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/connector_1_5.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/connector_1_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/connector_1_5.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/connector_1_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/connector_1_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/connector_1_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/connector_1_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/connector_1_7.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/connector_1_7.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_2_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/ejb-jar_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_2_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_3_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_3_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_3_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_3_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/ejb-jar_3_2.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_1_4.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/j2ee_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_1_4.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/j2ee_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_1_4.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/javaee_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_5.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_5.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/javaee_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_6.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_6.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_7.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_7.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_8.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_8.xsd"/>
+  <uri name="http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_jaxrpc_mapping_1_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/j2ee_jaxrpc_mapping_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_jaxrpc_mapping_1_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/j2ee_jaxrpc_mapping_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_jaxrpc_mapping_1_1.xsd"/>
+  <uri name="http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_web_services_1_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/j2ee_web_services_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_web_services_1_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/j2ee_web_services_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_web_services_1_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_1_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_1_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_1_2.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_1_3.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_1_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_1_3.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_1_4.xsd"/>
+  <uri name="http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_web_services_client_1_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/j2ee_web_services_client_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_web_services_client_1_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/j2ee_web_services_client_1_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/j2ee_web_services_client_1_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/javaee_web_services_client_1_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_client_1_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_client_1_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_client_1_2.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/javaee_web_services_client_1_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_client_1_3.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_client_1_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_client_1_3.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/javaee_web_services_client_1_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/javaee_web_services_client_1_4.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/jsp_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jsp_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/jsp_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jsp_2_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/jsp_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jsp_2_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/jsp_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jsp_2_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/jsp_2_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jsp_2_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/jsp_2_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jsp_2_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/jsp_2_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/jsp_2_3.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/permissions_7.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/permissions_7.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/orm_1_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/persistence/orm_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/orm_1_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/persistence/orm_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/orm_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/persistence/orm_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/orm_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/persistence/orm_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/orm_2_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/persistence_1_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/persistence/persistence_1_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/persistence_1_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/persistence_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/persistence/persistence_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/persistence_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/persistence_2_1.xsd"/>
+  <uri name="http://www.jboss.org/xml/ns/javax/validation/configuration/validation-configuration-1.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/validation-configuration-1.0.xsd"/>
+  <uri name="http://www.jboss.org/xml/ns/javax/validation/configuration/validation-configuration-1.1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/validation-configuration-1.1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/validation/configuration/validation-configuration-2.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/validation-configuration-2.0.xsd"/>
+  <uri name="http://www.jboss.org/xml/ns/javax/validation/mapping/validation-mapping-1.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/validation-mapping-1.0.xsd"/>
+  <uri name="http://www.jboss.org/xml/ns/javax/validation/mapping/validation-mapping-1.1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/validation-mapping-1.1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/validation/mapping/validation-mapping-2.0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/validation-mapping-2.0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_2_4.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/web-app_2_4.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_2_4.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_2_5.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-app_2_5.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_2_5.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_3_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_3_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_3_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-app_4_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-common_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-common_3_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-common_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-common_3_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-common_3_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-common_3_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-common_4_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-common_4_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facelettaglibrary_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facelettaglibrary_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facelettaglibrary_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facelettaglibrary_2_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facelettaglibrary_2_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facelettaglibrary_2_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facelettaglibrary_2_3.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_1_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_1_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_1_2.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_2_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesconfig_2_3.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-facesuicomponent_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesuicomponent_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-facesuicomponent_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-facesuicomponent_2_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-fragment_3_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-fragment_3_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-fragment_3_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-fragment_3_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-fragment_4_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-fragment_4_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-jsptaglibrary_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-jsptaglibrary_2_0.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-jsptaglibrary_2_1.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-jsptaglibrary_2_1.xsd"/>
+  <uri name="http://java.sun.com/xml/ns/javaee/web-partialresponse_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-partialresponse_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-partialresponse_2_0.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-partialresponse_2_0.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-partialresponse_2_2.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-partialresponse_2_2.xsd"/>
+  <uri name="http://xmlns.jcp.org/xml/ns/javaee/web-partialresponse_2_3.xsd" uri="jar:file:/C:/Program Files/eclipse/java-photon/eclipse/../../../../Users/Admin_A&amp;Co/.p2/pool/plugins/org.eclipse.jst.standard.schemas_1.2.201.v201802051652.jar!/dtdsAndSchemas/web-partialresponse_2_3.xsd"/>
+</catalog>
diff --git a/wsp-KorAP-Services/.metadata/version.ini b/wsp-KorAP-Services/.metadata/version.ini
new file mode 100644
index 0000000..2f5b823
--- /dev/null
+++ b/wsp-KorAP-Services/.metadata/version.ini
@@ -0,0 +1,3 @@
+#Tue Nov 09 15:16:26 CET 2021
+org.eclipse.core.runtime=2
+org.eclipse.platform=4.8.0.v20180611-0500
diff --git a/wsp-KorAP-Services/.recommenders/caches/identified-project-coordinates.json b/wsp-KorAP-Services/.recommenders/caches/identified-project-coordinates.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/wsp-KorAP-Services/.recommenders/caches/identified-project-coordinates.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/wsp-KorAP-Services/.recommenders/caches/manual-mappings.json b/wsp-KorAP-Services/.recommenders/caches/manual-mappings.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/wsp-KorAP-Services/.recommenders/caches/manual-mappings.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file